您好,登錄后才能下訂單哦!
這篇文章主要介紹了VB.NET如何使用重載事件處理應用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
繼承的VB.NET重載事件處理程序
在繼承某個組件時,該組件的所有成員都被并入新類中。事件處理程序是在響應組件接收的特定事件時執行的方法,并且它是和其他組件成員一同被繼承的。以下示例顯示了一個典型的事件處理程序:
Private Sub Button1_Click
(ByVal sender As System.
Object, ByVal e as _System.EventArgs) Handles
Button1.ClickStatic Counter as Integer = 0
Counter += 1
MessageBox.Show (" 此按鈕已被單擊 " & _
Counter.ToString() & " 次。")
End Sub
只要發生 Button1.Click 事件,就會執行以上方法。方法聲明末尾的 Handles 子句將方法與事件進行關聯。這是組件中事件處理程序的典型結構。
為了在繼承類中重載此方法,必須添加 Overridable 關鍵字,并將訪問級別更改為 Protected、Protected Friend 或 Public。以下示例顯示了一個可以被重載的事件處理程序:
Protected Overridable Sub
Button1_Click(ByVal sender
As System.Object, _ByVal e as System.EventArgs)
Handles Button1.ClickStatic Counter as Integer = 0
Counter += 1
MessageBox.Show (" 此按鈕已被單擊 " & _
Counter.ToString() & " 次。")
End Sub
組件中繼承的VB.NET重載事件處理程序
VB.NET MonthCalendar控件應用手冊
VB.NET Imports語句規則與實例講解
VB.NET獲取網卡地址代碼實現過程
VB.NET枚舉增加編程速率
VB.NET坐標系統相關概念總結
重載繼承的事件處理程序與重載任何其他類型的繼承方法基本相同,***不同之處在于:在重載繼承的事件處理程序時,必須刪除 Handles 子句。
重載繼承組件中的方法
將 Overrides 關鍵字添加到方法聲明中。
注意:不要在方法中添加 Handles 子句。VB.NET重載事件處理程序已經與基類中的事件相關聯,并且此關聯將傳遞到繼承類中。也就是說,當引發事件時將執行此方法,而不再需要額外的 Handles 子句。
以下示例顯示了如何重載前面示例中的事件處理程序:
Protected Overrides Sub
Button1_Click(ByVal
sender As System.Object, _ByVal e as System.EventArgs)
Static Counter as Integer = 0
Counter += 1
MessageBox.Show ("
此繼承的按鈕已被單擊 " & _Counter.ToString() & " 次。")
End Sub
為什么不需要 Handles 子句
Handles 子句不再與此方法相關聯。這并不是疏忽,而是 .NET 框架處理事件的一項重要內容。VB.NET重載事件處理程序已經與基類中的事件相關聯,并且此關聯將傳遞到繼承類中。也就是說,當引發事件時將執行此方法,而不再需要額外的 Handles 子句。如下所示,如果添加 Handles 子句,將創建與事件的附加關聯,這會使方法在每個事件中被執行兩次。
' 不正確的代碼
Protected Overrides Sub
Button1_Click(ByVal sender
As System.Object, _ByVal e as System.EventArgs)
Handles Button1.ClickStatic Counter as Integer = 0
' 每次單擊按鈕時,此變量將遞增
' 兩次。
Counter += 1
' 每次單擊按鈕時,消息框將顯示
' 兩次,并顯示不準確的信息。
MessageBox.Show ("
此繼承的按鈕已被單擊 " & _Counter.ToString() & " 次。")
End Sub
感謝你能夠認真閱讀完這篇文章,希望小編分享的“VB.NET如何使用重載事件處理應用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。