Winforms OnLoad方法和Load事件之间的区别?

Winforms OnLoad方法和Load事件之间的区别?,winforms,user-interface,load,Winforms,User Interface,Load,OnLoad方法和Load事件之间有什么区别?我正在开发WinForm控件。 我应该注册到Load事件还是覆盖OnLoad方法?每种方法的优缺点是什么?OnLoad是VB.NET中用于处理加载事件的默认事件处理程序。我通常在需要将代码附加到加载事件时重写此方法。其他事件也有默认函数:OnPreRender、OnInit等。我会覆盖OnLoad,因此您可以节省CPU周期来调用事件处理程序 如果从控件继承,则常规模式是重写方法;否则,请订阅该活动 但是请记住调用基类'OnLoad方法,因为这是调用L

OnLoad
方法和
Load
事件之间有什么区别?我正在开发WinForm控件。
我应该注册到
Load
事件还是覆盖
OnLoad
方法?每种方法的优缺点是什么?

OnLoad是VB.NET中用于处理加载事件的默认事件处理程序。我通常在需要将代码附加到加载事件时重写此方法。其他事件也有默认函数:OnPreRender、OnInit等。

我会覆盖
OnLoad
,因此您可以节省CPU周期来调用事件处理程序

如果从控件继承,则常规模式是重写方法;否则,请订阅该活动


但是请记住调用基类'
OnLoad
方法,因为这是调用
Load
事件的地方。

OnLoad方法是引发Load事件的方法。这是框架类中的标准模式,也是一种普遍推荐的模式-对于任何事件
Foo
,您都有一个虚拟受保护的方法
OnFoo
,它会引发该事件;并且该类的任何其他方法都不会直接引发事件,而是始终调用
OnFoo


如果您需要处理
上的事件,则覆盖
OnFoo
通常更容易、更快

哎呀。。。刚意识到你在问winform的事。取消页面生命周期链接。同样的情况也适用于其他.NET语言,例如C#(.NET framework本身主要是用C#编写的)。根据Microsoft的说法,重载OnLoad方法是“。。在派生类中处理事件的首选技术(参见)@Troymon这不是Thomas说的吗?