Comment appeler un gestionnaire d’événements dans Visual Basic
Un événement est une action ou une occurrence — telle qu’un clic de souris ou une limite de crédit dépassée — qui est reconnue par un composant de programme et pour laquelle vous pouvez écrire du code pour répondre. Un gestionnaire d’événements est le code que vous écrivez pour répondre à un événement.
Un gestionnaire d’événements dans Visual Basic est une procédure Sub
. Toutefois, vous ne l’appelez pas normalement comme d’autres procédures Sub
. Au lieu de cela, vous identifiez la procédure en tant que gestionnaire pour l’événement. Vous pouvez le faire avec une clause Handles
et une variable WithEvents
, ou avec une instruction AddHandler. L’utilisation d’une clause Handles
est la méthode par défaut pour déclarer un gestionnaire d’événements dans Visual Basic. Il s’agit de la façon dont les gestionnaires d’événements sont écrits par les concepteurs lorsque vous programmez dans l’environnement de développement intégré (IDE). L’instruction AddHandler
convient pour déclencher des événements dynamiquement au moment de l’exécution.
Lorsque l’événement se produit, Visual Basic appelle automatiquement la procédure du gestionnaire d’événements. Tout code qui a accès à l’événement peut le provoquer en exécutant une instruction RaiseEvent.
Vous pouvez associer plusieurs gestionnaires d’événements au même événement. Dans certains cas, vous pouvez dissocier un gestionnaire d’un événement. Pour plus d’informations, consultez Événements.
Appeler un gestionnaire d’événements à l’aide de Handles et de WithEvents
Vérifiez que l’événement est déclaré avec une instruction d’événement.
Déclarez une variable d’objet au niveau du module ou de la classe à l’aide du mot clé
WithEvents
. La clauseAs
de cette variable doit spécifier la classe qui déclenche l’événement.Dans la déclaration de la procédure de gestion des événements
Sub
, ajoutez une clauseHandles
qui spécifie la variableWithEvents
et le nom de l’événement.Lorsque l’événement se produit, Visual Basic appelle automatiquement la procédure
Sub
. Votre code peut utiliser une instructionRaiseEvent
pour effectuer l’événement.L’exemple suivant définit un événement et une variable
WithEvents
qui fait référence à la classe qui déclenche l’événement. La procédure de gestion des événementsSub
utilise une clauseHandles
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
Appeler un gestionnaire d’événements à l’aide de AddHandler
Vérifiez que l’événement est déclaré avec une instruction
Event
.Exécutez une instruction AddHandler pour connecter dynamiquement la procédure de gestion des événements
Sub
à l’événement.Lorsque l’événement se produit, Visual Basic appelle automatiquement la procédure
Sub
. Votre code peut utiliser une instructionRaiseEvent
pour effectuer l’événement.L’exemple suivant utilise l’instruction AddHandler dans le constructeur pour associer la procédure
OnFormClosing
en tant que gestionnaire d’événements pour FormClosing.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
Vous pouvez dissocier un gestionnaire d’événements d’un événement en exécutant l’instruction RemoveHandler.