人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

運用 Visual Basic .NET 重載事件處理程序(微軟)

運用 Visual Basic .NET 重載事件處理程序(微軟)

更新時間:2022-06-08 文章作者:未知 信息來源:網絡 閱讀次數:

使用 Visual Basic .NET 重載事件處理程序
Matthew A. Stoecker
Visual Studio Team
Microsoft Corporation
2002 年 2 月

概要:本文介紹在 Visual Basic® .NET 中編程時,如何重載事件處理程序。同時還討論如何使用 Handles 子句。

目錄
簡介
前提
繼承的事件處理程序
組件中繼承的事件處理程序
總結
簡介
在繼承控件或組件時,將創建封裝基類的所有功能的新控件或新組件。基類定義的所有事件處理程序都包含在繼承的組件中。本文將分析與繼承的事件處理程序相關的問題,并具體討論如何使用 Visual Basic .NET 開發應用程序。

前提
您應該非常了解繼承和面向對象的編程。有關詳細信息,請參閱 Polymorphism in Components(英文)。
繼承的事件處理程序
在繼承某個組件時,該組件的所有成員都被并入新類中。事件處理程序是在響應組件接收的特定事件時執行的方法,并且它是和其他組件成員一同被繼承的。以下示例顯示了一個典型的事件處理程序:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e as _
 System.EventArgs) Handles Button1.Click
 Static 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.Click
 Static Counter as Integer = 0
 Counter += 1
 MessageBox.Show (" 此按鈕已被單擊 " & _
Counter.ToString() & " 次。")
End Sub
組件中繼承的事件處理程序
重載繼承的事件處理程序與重載任何其他類型的繼承方法基本相同,唯一不同之處在于:在重載繼承的事件處理程序時,必須刪除 Handles 子句。

重載繼承組件中的方法

將 Overrides 關鍵字添加到方法聲明中。
注意:不要在方法中添加 Handles 子句。事件處理程序已經與基類中的事件相關聯,并且此關聯將傳遞到繼承類中。也就是說,當引發事件時將執行此方法,而不再需要額外的 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 框架處理事件的一項重要內容。事件處理程序已經與基類中的事件相關聯,并且此關聯將傳遞到繼承類中。也就是說,當引發事件時將執行此方法,而不再需要額外的 Handles 子句。如下所示,如果添加 Handles 子句,將創建與事件的附加關聯,這會使方法在每個事件中被執行兩次。

' 不正確的代碼
Protected Overrides Sub Button1_Click(ByVal sender As System.Object, _
 ByVal e as System.EventArgs) Handles Button1.Click
 Static Counter as Integer = 0
 ' 每次單擊按鈕時,此變量將遞增
 ' 兩次。
 Counter += 1
 ' 每次單擊按鈕時,消息框將顯示
 ' 兩次,并顯示不準確的信息。
 MessageBox.Show (" 此繼承的按鈕已被單擊 " & _
Counter.ToString() & " 次。")
End Sub
總結
重載事件處理程序可能造成一些不易察覺的問題,并導致難以查出的錯誤。因此,設置與事件處理程序的正確關聯是非常重要的。請小心使用,并注意已經存在的

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 邹平县| 澄城县| 惠水县| 镇巴县| 滁州市| 宁津县| 师宗县| 柳州市| 灌阳县| 阿坝| 绥德县| 通化县| 崇信县| 鹿邑县| 漳州市| 屏东市| 新乡市| 武宁县| 金平| 兴宁市| 康马县| 全南县| 新乡市| 澄迈县| 澄城县| 潼关县| 龙门县| 大余县| 遵化市| 泾川县| 东方市| 饶河县| 邳州市| 金山区| 勐海县| 广昌县| 尼勒克县| 冕宁县| 株洲县| 清水河县| 淳化县|