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.
Associe un événement à un gestionnaire d’événements au moment de l’exécution.
Syntaxe
AddHandler event, {AddressOf eventhandler | expression }
Pièces
Composant | Descriptif |
---|---|
event |
Nom de l’événement à gérer. |
eventhandler |
Nom d’une procédure qui gère l’événement. |
expression |
Expression lambda qui gère l’événement. |
Les parties AddressOf eventhandler
et expression
s’excluent mutuellement.
Remarques
Les AddHandler
instructions RemoveHandler
vous permettent de démarrer et d’arrêter la gestion des événements à tout moment pendant l’exécution du programme.
La signature du nouveau gestionnaire d’événements (la eventhandler
procédure ou l’expression expression
lambda) doit correspondre à la signature de l’événement event
.
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. L’instruction AddHandler
connecte des procédures aux événements au moment de l’exécution. 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. Pour plus d’informations, consultez Handles.
Un gestionnaire ajouté avec une lambda explicite NE PEUT PAS être supprimé ultérieurement (à l’aide RemoveHandler
de ). En effet, si l’expression lambda n’est pas nommée, il n’est pas possible de la référencer ultérieurement. Toutefois, l’affectation de l’lambda à une variable et l’ajout du gestionnaire via cette variable permet de supprimer le gestionnaire à l’aide de cette variable.
Remarque
Pour les événements personnalisés, l’instruction AddHandler
appelle l’accesseur de l’événement AddHandler
. Pour plus d’informations sur les événements personnalisés, consultez l’instruction Event.
Exemple :
Sub TestEvents()
Dim Obj As New Class1
' Associate an event handler with an event.
AddHandler Obj.Ev_Event, AddressOf EventHandler
' Call the method to raise the event.
Obj.CauseSomeEvent()
' Stop handling events.
RemoveHandler Obj.Ev_Event, AddressOf EventHandler
' This event will not be handled.
Obj.CauseSomeEvent()
' Associate an event handler with an event, using a lambda.
' This handler cannot be removed.
AddHandler Obj.Ev_Event, Sub ()
MsgBox("Lambda caught event.")
End Sub
' This event will be handled by the lambda above.
Obj.CauseSomeEvent()
End Sub
Sub EventHandler()
' Handle the event.
MsgBox("EventHandler caught event.")
End Sub
Public Class Class1
' Declare an event.
Public Event Ev_Event()
Sub CauseSomeEvent()
' Raise an event.
RaiseEvent Ev_Event()
End Sub
End Class