Événements (Guide de programmation C#)
Les événements permettent à une classe ou à un objet de notifier d’autres classes ou objets quand quelque chose de significatif se produit. La classe qui envoie (ou déclenche) l’événement est appelée publieur et les classes qui reçoivent (ou gèrent) l’événement sont appelées abonnés.
Dans une application C# Windows Forms ou web classique, vous vous abonnez à des événements déclenchés par des contrôles, comme des boutons et des zones de liste. Vous pouvez utiliser l’IDE Visual C# pour parcourir les événements publiés par un contrôle et sélectionner ceux que vous voulez gérer. L’IDE permet d’ajouter automatiquement une méthode de gestionnaire d’événements vide et le code pour vous abonner à l’événement. Pour plus d’informations, consultez Guide pratique pour s’abonner à des événements et s’en désabonner.
Vue d'ensemble des événements
Les événements ont les propriétés suivantes :
Le publieur détermine quand un événement est déclenché ; les abonnés déterminent l’action entreprise en réponse à l’événement.
Un événement peut avoir plusieurs abonnés. Un abonné peut gérer plusieurs événements provenant de plusieurs publieurs.
Les événements qui n’ont aucun abonné ne sont jamais déclenchés.
Les événements sont généralement utilisés pour signaler des actions de l’utilisateur, comme les clics de bouton ou les sélections de menu dans les interfaces utilisateur graphiques.
Quand un événement a plusieurs abonnés, les gestionnaires d’événements sont appelées de façon synchrone quand un événement est déclenché. Pour appeler des événements de façon asynchrone, consultez Calling Synchronous Methods Asynchronously.
Dans la bibliothèque de classes .NET, les événements sont basés sur le délégué EventHandler et la classe de base EventArgs.
Sections connexes
Pour plus d'informations, consultez les pages suivantes :
Comment publier des événements conformes aux indications de .NET
Comment déclencher des événements de la classe de base dans les classes dérivées
Comment implémenter des accesseurs d’événement personnalisés
Spécification du langage C#
Pour plus d’informations, consultez Événements dans la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.
Chapitres proposés
Delegates, Events, and Lambda Expressions (Délégués, événements et expressions lambda) dans C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers
Délégués et événements dans Apprentissage de C# 3.0 : Maîtriser les fondamentaux de C# 3.0