Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Déclare qu’une procédure gère un événement spécifié.
Syntaxe
proceduredeclaration Handles eventlist
Pièces
proceduredeclaration
Déclaration Sub
de procédure de la procédure qui gère l’événement.
eventlist
Liste des événements à proceduredeclaration
gérer, séparés par des virgules. Les événements doivent être déclenchés par la classe de base de la classe actuelle ou par un objet déclaré à l’aide du WithEvents
mot clé.
Remarques
Utilisez le Handles
mot clé à la fin d’une déclaration de procédure pour qu’il gère les événements déclenchés par une variable d’objet déclarée à l’aide du WithEvents
mot clé. Le Handles
mot clé peut également être utilisé dans une classe dérivée pour gérer les événements d’une classe de base.
Le Handles
mot clé et l’instruction AddHandler
vous permettent de spécifier que des procédures particulières gèrent des événements particuliers, mais il existe des différences. Utilisez le mot clé lors de la Handles
définition d’une procédure pour spécifier qu’elle gère un événement particulier. L’instruction AddHandler
connecte des procédures aux événements au moment de l’exécution. Pour plus d’informations, consultez l’instruction AddHandler.
Pour les événements personnalisés, l’application appelle l’accesseur de l’événement AddHandler
lorsqu’elle ajoute la procédure en tant que gestionnaire d’événements. Pour plus d’informations sur les événements personnalisés, consultez l’instruction Event.
Exemple 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
L’exemple suivant montre comment une classe dérivée peut utiliser l’instruction Handles
pour gérer un événement à partir d’une classe de base.
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
Exemple 2
L’exemple suivant contient deux gestionnaires d’événements de bouton pour un projet d’application 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
Exemple 3
L’exemple suivant équivaut à l’exemple précédent.
Handles
La eventlist
clause contient les événements des deux boutons.
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