溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

VB.NET如何使用重載事件處理應(yīng)用

發(fā)布時間:2021-12-02 14:19:11 來源:億速云 閱讀:137 作者:小新 欄目:編程語言

這篇文章主要介紹了VB.NET如何使用重載事件處理應(yīng)用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

繼承的VB.NET重載事件處理程序

在繼承某個組件時,該組件的所有成員都被并入新類中。事件處理程序是在響應(yīng)組件接收的特定事件時執(zhí)行的方法,并且它是和其他組件成員一同被繼承的。以下示例顯示了一個典型的事件處理程序:

  1. Private Sub Button1_Click
    (ByVal sender As System.
    Object, ByVal e as _  

  2. System.EventArgs) Handles 
    Button1.Click  

  3. Static Counter as Integer = 0 

  4. Counter += 1  

  5. MessageBox.Show (" 此按鈕已被單擊 " & _  

  6. Counter.ToString() & " 次。")  

  7. End Sub 

只要發(fā)生 Button1.Click 事件,就會執(zhí)行以上方法。方法聲明末尾的 Handles 子句將方法與事件進行關(guān)聯(lián)。這是組件中事件處理程序的典型結(jié)構(gòu)。

為了在繼承類中重載此方法,必須添加 Overridable 關(guān)鍵字,并將訪問級別更改為 Protected、Protected Friend 或 Public。以下示例顯示了一個可以被重載的事件處理程序:

  1. Protected Overridable Sub 
    Button1_Click(ByVal sender 
    As System.Object, _  

  2. ByVal e as System.EventArgs)
     Handles Button1.Click  

  3. Static Counter as Integer = 0 

  4. Counter += 1  

  5. MessageBox.Show (" 此按鈕已被單擊 " & _  

  6. Counter.ToString() & " 次。")  

  7. End Sub 

組件中繼承的VB.NET重載事件處理程序

  • VB.NET MonthCalendar控件應(yīng)用手冊

  • VB.NET Imports語句規(guī)則與實例講解

  • VB.NET獲取網(wǎng)卡地址代碼實現(xiàn)過程

  • VB.NET枚舉增加編程速率

  • VB.NET坐標系統(tǒng)相關(guān)概念總結(jié)

重載繼承的事件處理程序與重載任何其他類型的繼承方法基本相同,***不同之處在于:在重載繼承的事件處理程序時,必須刪除 Handles 子句。

重載繼承組件中的方法

將 Overrides 關(guān)鍵字添加到方法聲明中。

注意:不要在方法中添加 Handles 子句。VB.NET重載事件處理程序已經(jīng)與基類中的事件相關(guān)聯(lián),并且此關(guān)聯(lián)將傳遞到繼承類中。也就是說,當引發(fā)事件時將執(zhí)行此方法,而不再需要額外的 Handles 子句。

以下示例顯示了如何重載前面示例中的事件處理程序:

  1. Protected Overrides Sub
     Button1_Click(ByVal 
    sender As System.Object, _  

  2. ByVal e as System.EventArgs)  

  3. Static Counter as Integer = 0 

  4. Counter += 1  

  5. MessageBox.Show ("
     此繼承的按鈕已被單擊 " & _  

  6. Counter.ToString() & " 次。")  

  7. End Sub 

為什么不需要 Handles 子句

Handles 子句不再與此方法相關(guān)聯(lián)。這并不是疏忽,而是 .NET 框架處理事件的一項重要內(nèi)容。VB.NET重載事件處理程序已經(jīng)與基類中的事件相關(guān)聯(lián),并且此關(guān)聯(lián)將傳遞到繼承類中。也就是說,當引發(fā)事件時將執(zhí)行此方法,而不再需要額外的 Handles 子句。如下所示,如果添加 Handles 子句,將創(chuàng)建與事件的附加關(guān)聯(lián),這會使方法在每個事件中被執(zhí)行兩次。

  1. ' 不正確的代碼  

  2. Protected Overrides Sub 
    Button1_Click(ByVal sender 
    As System.Object, _  

  3. ByVal e as System.EventArgs) 
    Handles Button1.Click  

  4. Static Counter as Integer = 0 

  5. ' 每次單擊按鈕時,此變量將遞增  

  6. ' 兩次。  

  7. Counter += 1  

  8. ' 每次單擊按鈕時,消息框?qū)@示  

  9. ' 兩次,并顯示不準確的信息。  

  10. MessageBox.Show (" 
    此繼承的按鈕已被單擊 " & _  

  11. Counter.ToString() & " 次。")  

  12. End Sub 

感謝你能夠認真閱讀完這篇文章,希望小編分享的“VB.NET如何使用重載事件處理應(yīng)用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI