Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Ereignis ist eine Aktion oder ein Vorkommen , z. B. ein Mausklick oder ein Guthabenlimit überschritten, das von einigen Programmkomponenten erkannt wird und für die Sie Code schreiben können, um zu reagieren. Ein Ereignishandler ist der Code, den Sie schreiben, um auf ein Ereignis zu reagieren.
Ein Ereignishandler in Visual Basic ist eine Sub
Prozedur. Sie bezeichnen sie jedoch normalerweise nicht auf die gleiche Weise wie andere Sub
Prozeduren. Stattdessen kennzeichnen Sie die Prozedur als Handler für das Ereignis. Sie können dies entweder mit einer Handles
Klausel und einer WithEvents
Variablen oder mit einer AddHandler-Anweisung tun. Die Verwendung einer Handles
Klausel ist die Standardweise zum Deklarieren eines Ereignishandlers in Visual Basic. Dies ist die Art und Weise, wie die Ereignishandler von den Designern geschrieben werden, wenn Sie in der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) programmieren. Die AddHandler
-Anweisung eignet sich zum dynamischen Auslösen von Ereignissen zur Laufzeit.
Wenn das Ereignis auftritt, ruft Visual Basic die Ereignishandlerprozedur automatisch auf. Jeder Code, der Zugriff auf das Ereignis hat, kann es durch Ausführen einer RaiseEvent-Anweisung auslösen.
Sie können mehrere Ereignishandler demselben Ereignis zuordnen. In einigen Fällen können Sie einen Handler von einem Ereignis trennen. Weitere Informationen finden Sie unter "Ereignisse".
Aufrufen eines Ereignishandlers mithilfe Handles und WithEvents
Stellen Sie sicher, dass das Ereignis mit einer Event-Anweisung deklariert wird.
Deklarieren Sie eine Objektvariable auf Modul- oder Klassenebene mithilfe des Schlüsselworts
WithEvents
. DieAs
Klausel für diese Variable muss die Klasse angeben, die das Ereignis auslöst.Fügen Sie in der Deklaration der Ereignisbehandlungsprozedur
Sub
eineHandles
Klausel hinzu, die dieWithEvents
Variable und den Ereignisnamen angibt.Wenn das Ereignis auftritt, ruft Visual Basic die
Sub
Prozedur automatisch auf. Ihr Code kann eineRaiseEvent
Anweisung verwenden, um das Ereignis zu auslösen.Im folgenden Beispiel wird ein Ereignis und eine
WithEvents
Variable definiert, die auf die Klasse verweist, die das Ereignis auslöst. Die EreignisbehandlungsprozedurSub
verwendet eineHandles
Klausel, um die Klasse und das von ihr behandelte Ereignis anzugeben.Public Class RaisesEvent Public Event SomethingHappened() Dim WithEvents happenObj As New RaisesEvent Public Sub ProcessHappen() Handles happenObj.SomethingHappened ' Insert code to handle somethingHappened event. End Sub End Class
Aufrufen eines Ereignishandlers mithilfe von AddHandler
Stellen Sie sicher, dass das Ereignis mit einer
Event
-Anweisung deklariert ist.Führen Sie eine AddHandler-Anweisung aus, um die Ereignisbehandlungsprozedur
Sub
dynamisch mit dem Ereignis zu verbinden.Wenn das Ereignis auftritt, ruft Visual Basic die
Sub
Prozedur automatisch auf. Ihr Code kann eineRaiseEvent
Anweisung verwenden, um das Ereignis zu auslösen.Im folgenden Beispiel wird die AddHandler-Anweisung im Konstruktor verwendet, um die
OnFormClosing
-Prozedur als Ereignishandler für FormClosing zuzuordnen.Sub New() InitializeComponent() AddHandler Me.FormClosing, AddressOf OnFormClosing End Sub Private Sub OnFormClosing(sender As Object, e As FormClosingEventArgs) ' Insert code to deal with impending closure of this form. End Sub
Sie können einen Ereignishandler von einem Ereignis trennen, indem Sie die RemoveHandler-Anweisung ausführen.