在寻找控制的后构造事件(Looking for a Post-Constructor Event o

2019-10-20 09:41发布

我做了一个Label子类,需要初始化它的一些特性。

有些我可以在构造函数中设置,但其他人是在窗体设计器代码复位,所以他们必须设置

  • 经过设计师完成了它InitializeComponent
  • 但之前Paint事件中运行,这就需要他们在的地方。

当然,控制应该是自给自足的,所以我不能添加任何形式的代码。

我使用的是现在的解决方法:我设置一个标志bool needsInit = true; 我检查了Paint的事件。 如果真我称之为doInit()方法,它会清除标志并执行初始化。

它的工作原理,无论是跑步方式,为VS设计器窗口..但我嗅到了标志

那么,有没有可能是更好的,无支撑的方式来做到这一点? 或正确的方式?

Answer 1:

重写InitLayout在方法。

protected override void InitLayout()
{
    // do something here
    base.InitLayout();
}


文章来源: Looking for a Post-Constructor Event of a Control