3

我无法将我的用户控件设置为使用创建它的面板自动调整大小。当用户调整包含用户控件的主窗体的大小时,此用户控件的大小根本不会改变,从而导致用户体验不佳。

到目前为止,我尝试了以下操作:

  1. 确保用户控件上的MinimumSizeMaximumSize属性设置为 0。
  2. 将(1) 用户控件和 (2) 它所在的面板上的AutoSize属性设置为True
  3. 将面板上的Anchor属性设置为Top , Bottom , Left , Right
  4. 将用户控件的Dock属性设置为Fill(我使用以下代码执行此操作)

这些尝试对我的用户控件的行为没有影响:

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

任何建议将不胜感激。

4

2 回答 2

3

尝试将AutoSize属性设置为 False。

此外,不要调用 ,而是Controls.Clear();尝试处理其中的控件,例如:

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

否则,您将泄漏内存,因为那些已删除的控件仍然存在。

于 2013-04-15T16:23:29.347 回答
0

您也应该将 AutoSizeMode 设置为 GrowAndShrink。

于 2013-11-21T13:06:11.240 回答