Sdílet prostřednictvím


Handles – Klauzule (Visual Basic)

Deklaruje, že procedura zpracovává zadanou událost.

Syntaxe

proceduredeclaration Handles eventlist

Součástky

proceduredeclaration Deklarace Sub procedury pro proceduru, která bude zpracovávat událost.

eventlist Seznam událostí pro proceduredeclaration zpracování 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í klíčového WithEvents slova.

Poznámky

Handles Na konci deklarace procedury použijte klíčové slovo k tomu, aby zpracovával události vyvolané proměnnou objektu deklarovanou pomocí klíčového WithEvents 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é Handles slovo i AddHandler příkaz umožňují určit, že konkrétní procedury zpracovávají konkrétní události, ale existují rozdíly. Handles Klíčové slovo použijte při definování procedury k určení, že zpracovává konkrétní událost. Příkaz AddHandler připojuje procedury k událostem za běhu. Další informace naleznete v tématu AddHandler – příkaz.

U vlastních událostí aplikace vyvolá AddHandler při přidání procedury jako obslužné rutiny události přístupové objekty 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 odvozená třída může použít Handles příkaz ke 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 dva 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. Handles Klauzule eventlist 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

Viz také