Les gestionnaires d’événements avancés

1. Un gestionnaire pour plusieurs événements

Un gestionnaire peut être abonné à plusieurs événements différents. C’est utile lorsque plusieurs objets ou contrôles doivent déclencher la même action et cela évite de créer plusieurs gestionnaires identiques.

L’association se fait comme à l’habitude, en associant à l’événement un délégué pointant vers la méthode, sauf que le délégué est identique pour les deux événements :

this.Valid.Click += new EventHandler(this.Valid_Click); 
this.Cancel.Click += new EventHandler(this.Valid_Click); 

Vous pouvez aussi commencer par déclarer et instancier le délégué puis l’associer à plusieurs événements :

EventHandler newHandler = new EventHandler(this.Valid_Click); 
this.Valid.Click += newHandler; 
this.Cancel.Click += newHandler; 

Comme plusieurs contrôles déclenchent le même événement, la distinction des actions à effectuer peut se faire grâce au paramètre sender qui est passé au gestionnaire d’événements :

private void Valid_Click(object sender, EventArgs e) 
{ 
    MessageBox.Show((sender as Control).Name); 
} 

2. Plusieurs gestionnaires pour un événement

À l’inverse...

Pour consulter la suite, découvrez le livre suivant :
couv_EI9C19VIS.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
La création de gestionnaires d'événements
Suivant
Introduction