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

时间:2009-07-08 07:18:11

标签: winforms user-interface load

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

3 个答案:

答案 0 :(得分:13)

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

如果从控件继承,一般模式是覆盖方法;否则,订阅该活动。

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

答案 1 :(得分:4)

OnLoad方法是引发Load事件的方法。它是框架类中的标准模式,通常建议使用 - 对于任何事件Foo,您都有一个虚拟保护方法OnFoo来引发该事件;并且该类的其他方法没有直接引发事件,但总是调用OnFoo

如果您需要在this上处理该事件,则覆盖OnFoo通常会更容易,更快捷。

答案 2 :(得分:0)

OnLoad是VB.NET中用于处理Load事件的默认事件处理程序。当我需要将代码附加到load事件时,我通常会覆盖此方法。其他Page Life Cycle事件也有默认函数:OnPreRender,OnInit等。