Comment : appeler un gestionnaire d'événements en Visual Basic
Un événement est une action ou une occurrence (par exemple un clic de souris ou le dépassement d'un seuil de crédit) reconnue par un composant de programme pour laquelle vous pouvez écrire du code en réponse. Un gestionnaire d'événements est le code que vous écrivez pour répondre à un événement.
Un gestionnaire d'événements en Visual Basic est une procédure Sub. Toutefois, vous ne l'appelez normalement pas de la même manière que d'autres procédures Sub. À la place, vous identifiez la procédure comme un gestionnaire pour l'événement. Pour cela, vous pouvez utiliser soit une clause Handles, clause (Visual Basic) et une variableWithEvents (Visual Basic), soit une AddHandler, instruction. L'utilisation d'une clause Handles est la manière par défaut de déclarer un gestionnaire d'événements en Visual Basic. Les gestionnaires d'événements sont écrits de cette manière par les concepteurs lorsque vous programmez dans l'environnement de développement intégré (IDE). L'instruction AddHandler convient pour déclencher dynamiquement des événements au moment de l'exécution.
Lorsque l'événement se produit, Visual Basic appelle automatiquement la procédure de gestionnaire d'événements. Tout code qui a accès à l'événement peut déclencher celui-ci en exécutant une RaiseEvent, instruction.
Vous pouvez associer plusieurs gestionnaires d'événements au même événement. Dans quelques cas, vous pouvez dissocier un gestionnaire pour un événement. Pour plus d'informations, consultez Événements (Visual Basic).
Pour appeler un gestionnaire d'événements à l'aide de Handles et de WithEvents
Assurez-vous que l'événement est déclaré avec une Event, instruction.
Déclarez une variable objet au niveau du module ou de la classe, à l'aide du mot clé WithEvents (Visual Basic). La clause As pour cette variable doit spécifier la classe qui déclenche l'événement.
Dans la déclaration de la procédure Sub de gestion des événements, ajoutez une clause Handles, clause (Visual Basic) qui spécifie la variable WithEvents et le nom d'événement.
Lorsque l'événement se produit, Visual Basic appelle automatiquement la procédure Sub. Votre code peut utiliser une instruction RaiseEvent pour faire en sorte que l'événement se produise.
L'exemple suivant définit un événement et une variable WithEvents qui font référence à la classe qui déclenche l'événement. La procédure Sub de gestion des événements utilise une clause Handles pour spécifier la classe et l'événement qu'elle gère.
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
Pour appeler un gestionnaire d'événements à l'aide d'AddHandler
Assurez-vous que l'événement est déclaré avec une instruction Event.
Exécutez une AddHandler, instruction pour connecter dynamiquement la procédure Sub de gestion des événements avec l'événement.
Lorsque l'événement se produit, Visual Basic appelle automatiquement la procédure Sub. Votre code peut utiliser une instruction RaiseEvent pour faire en sorte que l'événement se produise.
L'exemple suivant définit une procédure Sub pour gérer l'événement Closing d'un formulaire. Il utilise ensuite l'AddHandler, instruction pour associer la procédure catchClose en tant que gestionnaire d'événements pour Closing.
' Place these procedures inside a Form class definition. Private Sub catchClose(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) ' Insert code to deal with impending closure of this form. End Sub Public Sub formOpened() AddHandler Me.Closing, AddressOf catchClose End Sub
Vous pouvez dissocier un gestionnaire d'événements d'un événement en exécutant l'RemoveHandler, instruction.
Voir aussi
Tâches
Comment : créer une procédure (Visual Basic)
Comment : appeler une procédure qui ne retourne pas de valeur (Visual Basic)
Référence
Sub, instruction (Visual Basic)
Opérateur AddressOf (Visual Basic)