Handles
Aktualisiert: November 2007
Deklariert, dass eine Prozedur ein bestimmtes Ereignis behandelt.
proceduredeclaration Handles eventlist
Bestandteile
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.
Hinweise
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.
Beispiel
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
Siehe auch
Konzepte
Ereignisse und Ereignishandler