我想根据内容的项目调整自定义控件的大小 这不适合我:
public CustomControl()
{
InitializeComponent();
if (ErrorLimits == false && Range == false)
{
this.Size = new Size(100, 100);
this.Invalidate();
}
else
{
this.Size = new Size(250,250);
this.Invalidate();
}
}
它什么都没改变,我怎样才能实现它? 谢谢!
答案 0 :(得分:3)
包含的表单将实例化CustomControl
,然后在表单的InitializeComponent
函数中设置其属性。表单设计器中设置的属性值在构造函数CustomControl
完成后应用(如果您考虑它,则必须是这样)。
由于您是在控件的构造函数中设置自定义大小,因此在显示表单之前,它们可能会被设计器值重写。
更好的设置大小的地方是UserControl.Load
事件,它发生在设置设计器属性之后。
更好的选择是正确支持auto sizing。