Partager via


Handles, clause (Visual Basic)

Déclare qu'une procédure gère un événement spécifié.

proceduredeclaration Handles eventlist

Composants

  • proceduredeclaration
    Déclaration de procédure Sub de la procédure qui gérera l'événement.

  • eventlist
    Liste des événements pour que proceduredeclaration gère, séparés par des virgules. Ces événements doivent être déclenchés par la classe de base de la classe en cours ou par un objet déclaré à l'aide du mot clé WithEvents.

Notes

Utilisez le mot clé Handles à la fin d'une déclaration de procédure pour que celle-ci gère les événements déclenchés par une variable objet déclarée à l'aide du mot clé WithEvents. Le mot clé Handles peut également être utilisé dans une classe dérivée pour gérer des événements à partir d'une classe de base.

La signature de la procédure doit correspondre aux signatures de chaque événement dans eventlist.

Le mot clé Handles et l'instruction AddHandler 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é Handles lors de la définition d'une procédure pour spécifier qu'il gère un événement particulier. L'instruction AddHandler connecte les procédures aux événements au moment de l'exécution. Pour plus d'informations, consultez AddHandler, instruction.

Pour les événements personnalisés, l'application appelle l'accesseur AddHandler de l'événement lors de l'ajout de la procédure comme gestionnaire d'événements. Pour plus d'informations sur les événements personnalisés, consultez Event, instruction.

Exemple

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

L'exemple suivant contient deux gestionnaires d'événements de bouton pour un projet 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

L'exemple suivant équivaut au précédent : eventlist dans la clause Handles contient les événements pour les 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

Voir aussi

Référence

WithEvents (Visual Basic)

AddHandler, instruction

RemoveHandler, instruction

Event, instruction

RaiseEvent, instruction

Autres ressources

Événements (Visual Basic)