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

fra*_*nja 12 user-interface load winforms

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

Tho*_*erg 13

我会去覆盖OnLoad,所以你不用CPU周期来调用事件处理程序.

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

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

  • 根据微软的说法,重载OnLoad方法是'..派生**类中处理事件的首选技术'(参见http://msdn.microsoft.com/en-us/library/system.windows. forms.form.onload.aspx) (4认同)
  • @TroyMoon这不是托马斯所说的吗? (3认同)

Pav*_*aev 5

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

如果您需要在 上处理事件this,通常覆盖 更容易也更快OnFoo