宣告程式會處理指定的事件。
語法
proceduredeclaration Handles eventlist
組件
proceduredeclaration 將 Sub 處理事件之程式的程式宣告。
eventlist 要處理的事件 proceduredeclaration 清單,以逗號分隔。 事件必須由目前類別的基類,或是使用 WithEvents 關鍵詞宣告的對象引發。
備註
Handles使用程式宣告結尾的 關鍵詞,讓它處理由使用 WithEvents 關鍵詞宣告的物件變數所引發的事件。 關鍵詞 Handles 也可以在衍生類別中用來處理基類的事件。
Handles關鍵詞和 AddHandler 語句都可讓您指定特定程序處理特定事件,但有差異。
Handles定義程式以指定它處理特定事件時,請使用 關鍵詞。 語句會將 AddHandler 程式連接到運行時間的事件。 如需詳細資訊,請參閱 AddHandler 語句。
針對自定義事件,應用程式會在將程式新增為事件處理程式時,叫用事件的 AddHandler 存取子。 如需自定義事件的詳細資訊,請參閱 Event Statement。
範例 1
Public Class ContainerClass
' Module or class level declaration.
WithEvents Obj As New Class1
Public Class Class1
' Declare an event.
Public Event Ev_Event()
Sub CauseSomeEvent()
' Raise an event.
RaiseEvent Ev_Event()
End Sub
End Class
Sub EventHandler() Handles Obj.Ev_Event
' Handle the event.
MsgBox("EventHandler caught event.")
End Sub
' Call the TestEvents procedure from an instance of the ContainerClass
' class to test the Ev_Event event and the event handler.
Public Sub TestEvents()
Obj.CauseSomeEvent()
End Sub
End Class
下列範例示範衍生類別 Handles 如何使用 語句來處理基類的事件。
Public Class BaseClass
' Declare an event.
Event Ev1()
End Class
Class DerivedClass
Inherits BaseClass
Sub TestEvents() Handles MyBase.Ev1
' Add code to handle this event.
End Sub
End Class
範例 2
下列範例包含 WPF 應用程式 專案的兩個按鈕事件處理程式。
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button2.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
範例 3
下列範例相當於上一個範例。 子 eventlist 句中的 Handles 包含這兩個按鈕的事件。
Private Sub Button_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click, Button2.Click
MessageBox.Show(sender.Name & " clicked")
End Sub