Delen via


Handles-component (Visual Basic)

Declareert dat een procedure een opgegeven gebeurtenis afhandelt.

Syntaxis

proceduredeclaration Handles eventlist

generator

proceduredeclaration De Sub proceduredeclaratie voor de procedure die de gebeurtenis afhandelt.

eventlist Lijst met de gebeurtenissen die moeten proceduredeclaration worden verwerkt, gescheiden door komma's. De gebeurtenissen moeten worden gegenereerd door de basisklasse voor de huidige klasse of door een object dat is gedeclareerd met behulp van het WithEvents trefwoord.

Opmerkingen

Gebruik het Handles trefwoord aan het einde van een proceduredeclaratie om ervoor te zorgen dat deze gebeurtenissen verwerkt die zijn gegenereerd door een objectvariabele die is gedeclareerd met behulp van het WithEvents trefwoord. Het Handles trefwoord kan ook worden gebruikt in een afgeleide klasse om gebeurtenissen van een basisklasse te verwerken.

Met Handles het trefwoord en de AddHandler instructie kunt u beide opgeven dat bepaalde procedures bepaalde gebeurtenissen verwerken, maar er zijn verschillen. Gebruik het trefwoord bij het Handles definiƫren van een procedure om op te geven dat een bepaalde gebeurtenis wordt verwerkt. De AddHandler instructie verbindt procedures met gebeurtenissen tijdens runtime. Zie AddHandler-instructie voor meer informatie.

Voor aangepaste gebeurtenissen roept de toepassing de toegangsfunctie van AddHandler de gebeurtenis aan wanneer deze de procedure toevoegt als een gebeurtenis-handler. Zie Gebeurtenisinstructie voor meer informatie over aangepaste gebeurtenissen.

Voorbeeld 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

In het volgende voorbeeld ziet u hoe een afgeleide klasse de Handles instructie kan gebruiken om een gebeurtenis van een basisklasse af te handelen.

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

Voorbeeld 2

Het volgende voorbeeld bevat twee gebeurtenis-handlers voor een WPF-toepassingsproject .

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

Voorbeeld 3

Het volgende voorbeeld is gelijk aan het vorige voorbeeld. De eventlist component bevat Handles de gebeurtenissen voor beide knoppen.

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

Zie ook