2013-04-15 70 views
3

我在設置我的用戶控件時遇到麻煩,無法自動調整其創建面板的大小。當用戶調整包含用戶控件的主窗體的大小時,此用戶控件的大小根本不會改變,從而導致一些糟糕的用戶體驗。UserControl不會自動調整表格的大小

到目前爲止我嘗試以下:

  1. 確保的minimumSizeMAXIMUMSIZE性質上的用戶控制被設置爲0
  2. 設置的AutoSize屬性在兩個(1)在用戶控制(2)它所在的面板爲
  3. 設置屬性Ë面板頂部底部
  4. 設置碼頭屬性填寫用戶控件(我這樣做是用下面的代碼)

這些嘗試對我的用戶控件的行爲沒有影響:

CalcUserControl calcControl = new CalcUserControl(CountryId); 
calcControl.Dock = DockStyle.Fill; 
panelUserCtrl.Controls.Clear(); 
panelUserCtrl.Controls.Add(calcControl); 

任何建議將不勝感激。

回答

2

嘗試將AutoSize屬性設置爲False。

此外,而不是叫Controls.Clear();,嘗試控制的配置裏面,是這樣的:

while (panelUserCtrl.Controls.Count > 0) { 
    panelUserCtrl.Controls[0].Dispose(); 
} 

否則,因爲這些刪除的控制仍然存在,您正在泄漏內存。

+0

感謝您回覆。不幸的是,將AutoSize設置爲False並沒有爲我解決這個問題。 UserControl保持我在設計器中分配的原始大小。 – user1391337

+0

另外,我更改了「Controls.Clear();」按照你的建議行。感謝名單。 – user1391337

+0

@ user1391337您發佈的代碼不會重現相同的結果。您必須有一些其他容器控件干擾panelUserCtrl,以防止它正確調整大小。 – LarsTech

0

您應該將AutoSizeMode設置爲GrowAndShrink。