Visual Basic 中的繼承事件處理常式疑難排解
更新:2007 年 11 月
這個主題列出在繼承元件中事件處理常式時常發生的問題。
程序
每次呼叫時事件處理常式程式碼會執行兩次
繼承的事件處理常式中絕對不能包括 Handles 子句。基底類別中的方法已經與事件相關,所以將隨之引發。應該移除繼承方法中的 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 陳述式或任何處理相同事件的其他方法。