Handles – Klauzule (Visual Basic)
Deklaruje, že procedura zpracovává zadanou událost.
Syntax
proceduredeclaration Handles eventlist
Součásti
proceduredeclaration Deklarace Sub procedury, která bude zpracovávat událost.
eventlist Seznam událostí pro zpracování proceduredeclaration oddělených čárkami. Události musí být vyvolány buď základní třídou pro aktuální třídu, nebo objektem deklarovaným pomocí WithEvents klíčového slova .
Poznámky
Klíčové slovo na konci deklarace procedury použijte ke zpracování událostí vyvolaných proměnnou objektu Handles deklarovanou pomocí WithEvents klíčového slova . Klíčové Handles slovo lze také použít v odvozené třídě ke zpracování událostí ze základní třídy.
Klíčové slovo i příkaz umožňují určit, že konkrétní postupy zpracování konkrétních událostí, ale Handles AddHandler existují rozdíly. Při definování Handles procedury použijte klíčové slovo , které určuje, že zpracovává konkrétní událost. Příkaz AddHandler připojí procedury k událostem za běhu. Další informace najdete v tématu Příkaz AddHandler.
U vlastních událostí aplikace vyvolá přistupovací objekt události, když přidá proceduru AddHandler jako obslužnou rutinu události. Další informace o vlastních událostech najdete v tématu Příkaz události.
Příklad 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
Následující příklad ukazuje, jak může odvozená třída použít příkaz ke Handles zpracování události ze základní třídy.
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
Příklad 2
Následující příklad obsahuje dvě obslužné rutiny událostí tlačítka pro projekt aplikace 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
Příklad 3
Následující příklad je ekvivalentní předchozímu příkladu. v eventlist Handles klauzuli obsahuje události pro obě tlačítka.
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