Share via


Visual Basic 中的繼承事件處理常式疑難排解

這個主題列出在繼承元件中事件處理常式時常發生的問題。

程序

每次呼叫時事件處理常式程式碼會執行兩次

  • 繼承的事件處理常式中絕對不能包括 Handles 子句 (Visual Basic) 子句。 基底類別中的方法已經與事件相關,所以將隨之引發。 應該移除繼承方法中的 Handles 子句。

    ' INCORRECT
    Protected Overrides Sub Button1_Click( 
        ByVal sender As System.Object, 
        ByVal e As System.EventArgs) Handles Button1.Click
    
        ' The Handles clause will cause all code
        ' in this block to be executed twice.
    End Sub
    
  • 如果繼承的方法沒有 Handles 關鍵字,請驗證程式碼中未包括額外的 AddHandler 陳述式或任何處理相同事件的其他方法。

請參閱

其他資源

事件 (Visual Basic)