用户控件不会自动调整大小与形态(UserControl does not auto resize w

2019-08-31 06:58发布

我有我的设置控制的用户与在那里创建了面板会自动调整大小的烦恼。 当用户调整包含用户控件的主要形式,这种用户控件的大小不会改变在所有做了一些不好的用户体验。

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

  1. 确保被设置为0的用户控制和的minimumSize MAXIMUMSIZE性质。
  2. 上它驻留为True两者(1)用户控制和(2)的面板设置AutoSize属性
  3. 在面板上设置Anchor属性为
  4. 设置Dock属性来填充用户控件(我这样做是用下面的代码)

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

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

任何建议将不胜感激。

Answer 1:

尝试设置AutoSize属性设置为False。

另外,而不是调用Controls.Clear(); ,尝试它里面的控件的处置,是这样的:

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

否则,你正在泄漏内存,因为那些删除的控制仍然存在。



Answer 2:

你应该设置AutoSizeMode到GrowAndShrink了。



文章来源: UserControl does not auto resize with the Form