自定义控件调整大小C#

时间:2011-07-20 06:02:46

标签: c# winforms resize custom-controls

我想根据内容的项目调整自定义控件的大小 这不适合我:

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();
    }

}

它什么都没改变,我怎样才能实现它? 谢谢!

1 个答案:

答案 0 :(得分:3)

包含的表单将实例化CustomControl,然后在表单的InitializeComponent函数中设置其属性。表单设计器中设置的属性值在构造函数CustomControl完成后应用(如果您考虑它,则必须是这样)。

由于您是在控件的构造函数中设置自定义大小,因此在显示表单之前,它们可能会被设计器值重写。

更好的设置大小的地方是UserControl.Load事件,它发生在设置设计器属性之后。

更好的选择是正确支持auto sizing