Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Deklarálja, hogy egy eljárás egy adott eseményt kezel.
Szemantika
proceduredeclaration Handles eventlist
Részek
proceduredeclaration Az Sub eseményt kezelő eljáráshoz tartozó eljárás deklarációja.
eventlist A kezelendő események proceduredeclaration listája vesszővel elválasztva. Az eseményeket az aktuális osztály alaposztályának vagy a kulcsszóval WithEvents deklarált objektumnak kell emelnie.
Megjegyzések
Handles Az eljárásdeklaráció végén található kulcsszóval kezelheti a kulcsszóval WithEvents deklarált objektumváltozó által kiváltott eseményeket. A Handles kulcsszó származtatott osztályban is használható az alaposztály eseményeinek kezelésére.
A Handles kulcsszó és az AddHandler utasítás egyaránt lehetővé teszi annak megadását, hogy bizonyos eljárások kezeljenek bizonyos eseményeket, de vannak különbségek. Az eljárás definiálásakor használja a Handles kulcsszót annak megadásához, hogy az egy adott eseményt kezelje. Az AddHandler utasítás az eljárásokat futtatáskor kapcsolja össze az eseményekhez. További információ: AddHandler Utasítás.
Egyéni események esetén az alkalmazás meghívja az esemény tartozékát AddHandler , amikor eseménykezelőként hozzáadja az eljárást. Az egyéni eseményekről további információt az Eseményutasítás című témakörben talál.
1. példa
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
Az alábbi példa bemutatja, hogy egy származtatott osztály hogyan használhatja az Handles utasítást egy alaposztály eseményeinek kezelésére.
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. példa
Az alábbi példa két gombesemény-kezelőt tartalmaz egy WPF-alkalmazásprojekthez .
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. példa
Az alábbi példa egyenértékű az előző példával. A eventlist záradék mindkét Handles gomb eseményeit tartalmazza.
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