2010-01-12 66 views
1

更棒的是:裝載的對比Window_Loaded /事件處理程序與覆蓋

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#中,添加處理程序更健壯,並且沒有「句柄」關鍵字。

回答

0

我贊成事件處理程序,因爲可維護性:

  • 你不能忘記調用基類方法MyBase.OnClosed()
  • 您可以輕鬆添加多個處理程序。

這並不重要,性能明智。 (我只是添加了這個,因爲你用性能比較標記了這個問題......但是真的,這隻會影響你每秒鐘關閉表單數百萬次。)

+0

即使對於他自己的口味,我想我會保持使用重寫,我標記您的帖子作爲答覆,以紀念你提供的有用信息。 – Shimmy 2010-01-12 15:21:16