0
我有一個窗體,其佈局控件分爲左,中,右三部分。默認情況下,隱藏正確的佈局控制項(其中有幾個網格)。窗體中有一個按鈕,將窗體向右擴展以顯示兩個網格。當您再次單擊該按鈕時,它會隱藏右側的佈局控制項並再次更改窗體的大小。基本功能工作正常,但我也想在用戶按下按鈕時更新MinimumSize(所以當表單展開時,應該增加最小寬度)。這是我當前的代碼:窗體的MinimumSize不能正確更新
private void btnExpand_Click(object sender, EventArgs e)
{
this.SuspendLayout();
switch (lciRight.Visibility)
{
case LayoutVisibility.Never:
LoadGrids();
lciRight.Visibility = LayoutVisibility.Always;
this.Width += lciRight.Width;
this.MinimumSize = new Size(this.Width, this.MinimumSize.Height);
btnExpand.Text = "<<";
break;
case LayoutVisibility.Always:
lciRight.Visibility = LayoutVisibility.Never;
this.MinimumSize = new Size(689, this.MinimumSize.Height);
this.Width -= lciRight.Width;
btnExpand.Text = ">>";
break;
default:
break;
}
this.ResumeLayout();
}
我遇到的問題是,當窗體已經展開,我們按一下按鈕,使其原來的尺寸同樣,
這一點。 MinimumSize = new Size(689,this.MinimumSize.Height);
行沒有正確更新MinimumSize。任何想法爲什麼?
究竟什麼'錯了行? – Nogard
這只是沒有做任何事情。此時,this.MinimumSize.Width是1100,並且在執行該行之後,它仍然保持在1100而不是更改爲689(這是窗體的原始寬度)。 – Antrim
由於'SuspendLayout()'這是正常的。試着在執行該行後檢查這個屬性:'this.ResumeLayout();'如果它沒有改變,那麼你可能已經在別的地方重寫了這個屬性 – Nogard