(0) exportieren Drucken
Alle erweitern
0 von 1 fanden dies hilfreich - Dieses Thema bewerten.

Handles

Aktualisiert: November 2007

Deklariert, dass eine Prozedur ein bestimmtes Ereignis behandelt.


proceduredeclaration Handles eventlist
proceduredeclaration

Die Deklaration der Sub-Prozedur für die Prozedur, die das Ereignis behandelt.

eventlist

Liste der durch proceduredeclaration zu behandelnden Ereignisse. Das Ereignis muss entweder durch die Basisklasse für die aktuelle Klasse oder durch ein Objekt ausgelöst werden, das mit dem WithEvents-Schlüsselwort deklariert wurde.

Verwenden Sie das Handles-Schlüsselwort am Ende einer Prozedurdeklaration, damit die Prozedur Ereignisse behandelt, die durch eine mit dem WithEvents-Schlüsselwort deklarierte Objektvariable ausgelöst werden. Das Handles-Schlüsselwort kann auch in abgeleiteten Klassen verwendet werden, um Ereignisse aus einer Basisklasse zu behandeln.

Die Signatur der Prozedur muss mit der Signatur jedes Ereignisses in eventlist übereinstimmen.

Sie können sowohl mit dem Handles-Schlüsselwort als auch mit der AddHandler-Anweisung angeben, dass bestimmte Prozeduren bestimmte Ereignisse behandeln, doch weisen die beiden Verfahren Unterschiede auf. Verwenden Sie das Handles-Schlüsselwort beim Definieren einer Prozedur, um anzugeben, dass sie ein bestimmtes Ereignis behandelt. Die AddHandler-Anweisung verbindet zur Laufzeit Prozeduren mit Ereignissen. Weitere Informationen finden Sie unter AddHandler-Anweisung.

Für benutzerdefinierte Ereignisse ruft die Anwendung den AddHandler-Accessor des Ereignisses auf, wenn sie die Prozedur als Ereignishandler hinzufügt. Weitere Informationen über benutzerdefinierte Ereignisse finden Sie unter <languageKeyword>Event</languageKeyword>-Anweisung.

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


Im folgenden Beispiel wird demonstriert, wie eine abgeleitete Klasse ein Ereignis aus einer Basisklasse mit der Handles-Anweisung behandeln kann.

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


Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.