OnLoaded vs. Window_Loaded /事件处理程序与覆盖

时间:2010-01-12 14:33:37

标签: event-handling performance override

更好的是:

Private Sub Window_Closed(sender As Object, e As EventArgs) Handles Me.Closed
    'Do stuff
End Sub

Protected Overrides Sub OnClosed(ByVal e As System.EventArgs)
    MyBase.OnClosed(e)
    'Do stuff
End Sub

我个人认为第二个更好,第一个因为它不添加处理程序,而且因为语法更简单。 特别是在C#中,添加处理程序更加健壮,并且没有“handle”关键字。

1 个答案:

答案 0 :(得分:0)

由于可维护性,我倾向于使用事件处理程序:

  • 您不能忘记调用基类方法MyBase.OnClosed()
  • 您可以轻松添加多个处理程序。

性能方面的一点并不重要。 (我只是添加了这个,因为你用性能比较来标记问题......但实际上,这只会在你每秒关闭表单数百万次时才有意义。)