Vue d'ensemble des événements (Windows Forms)
Mise à jour : novembre 2007
Un événement est une action à laquelle vous pouvez répondre ou que vous pouvez « gérer » dans le code. Les événements peuvent être déclenchés par l'action d'un utilisateur (lorsqu'il clique sur un bouton de la souris ou appuie sur une touche), par le code d'un programme ou par le système.
Les applications pilotées par événements exécutent du code en réponse à un événement. Chaque formulaire et chaque contrôle exposent un ensemble prédéfini d'événements que vous pouvez programmer. Si l'un de ces événements se produit et qu'il y a du code dans le gestionnaire d'événements associé, ce code est appelé.
Les différents types d'événements déclenchés par un objet peuvent varier, mais beaucoup sont communs à la plupart des contrôles. Par exemple, la plupart des objets sont en mesure de gérer un événement Click. Si un utilisateur clique sur un formulaire, le code du gestionnaire d'événements Click du formulaire est exécuté.
Remarque : |
---|
De nombreux événements se produisent en conjonction avec d'autres événements. Par exemple, pendant un événement DoubleClick, les événements MouseDown, MouseUp et Click se produisent. |
Pour plus d'informations sur le déclenchement et la consommation d'un événement, consultez Comment : déclencher et utiliser des événements. Pour obtenir un exemple sur la manière de connecter des gestionnaires d'événements et des méthodes, consultez Comment : connecter des méthodes de gestionnaire d'événements aux événements.
Rôle des délégués
Les délégués sont des classes qui sont communément utilisées dans le .NET Framework pour générer des mécanismes de gestion des événements. Les délégués sont à peu près équivalents aux pointeurs de fonction communément utilisés dans Visual C++ et d'autres langages orientés objet. Toutefois à la différence des pointeurs de fonction, les délégués sont orientés objet, indépendants des types et sécurisés. En outre, alors qu'un pointeur de fonction ne contient qu'une référence à une fonction, un délégué consiste en une référence à un objet et des références à une ou plusieurs méthodes de cet objet.
Ce modèle d'événement utilise les délégués pour lier les événements aux méthodes servant à les gérer. Le délégué permet aux autres classes de s'enregistrer pour la notification d'événement en spécifiant une méthode de gestionnaire. Lorsque l'événement se produit, le délégué appelle la méthode liée. Pour plus d'informations sur la façon de définir les délégués, consultez Événements et délégués.
Les délégués peuvent être liés à une ou plusieurs méthodes ; dans ce dernier cas, on parlera de « multicasting ». En règle générale, un délégué créé pour un événement (par vous-même ou par le Concepteur Windows Forms) est de type multicast. Il existe cependant une exception à cette règle : quand un événement déclenche une procédure (par exemple, l'affichage d'une boîte de dialogue) qui logiquement ne se répéterait pas plusieurs fois par événement. Pour plus d'informations sur la façon de créer un délégué multicast, consultez Comment : combiner des délégués (délégués multicast) (Guide de programmation C#).
Un délégué multicast tient à jour une liste d'appel des méthodes auxquelles il est lié. Le délégué multicast prend en charge une méthode Combine pour ajouter une méthode à la liste d'appel et une méthode Remove pour la supprimer.
Quand un événement est enregistré par l'application, le contrôle le déclenche en appelant son délégué. À son tour, le délégué appelle la méthode liée. Dans le cas le plus courant (délégué multicast), le délégué appelle à tour de rôle chaque méthode liée de la liste d'appel, ce qui produit une notification un à plusieurs. Cette stratégie signifie que le contrôle n'a pas besoin de tenir à jour une liste des objets cible pour la notification d'événement — le délégué gère totalement l'enregistrement et la notification.
Les délégués permettent également de lier plusieurs événements à la même méthode et par conséquent de produire une notification plusieurs à un. Par exemple, un événement button-click et un événement menu-command–click peuvent tous deux appeler le même délégué, lequel appelle à son tour une méthode unique pour qu'elle prenne en charge de la même façon ces deux événements distincts.
Le mécanisme de liaison utilisé avec les délégués est dynamique : un délégué peut être lié au moment de l'exécution à n'importe quelle méthode dont la signature coïncide avec celle du gestionnaire d'événements. Grâce à cette fonctionnalité, vous pouvez configurer ou modifier la méthode de liaison en fonction d'une condition et attacher dynamiquement un gestionnaire d'événements à un contrôle.
Voir aussi
Concepts
Vue d'ensemble des gestionnaires d'événements (Windows Forms)
Autres ressources
Création de gestionnaires d'événements dans les Windows Forms