2018-10-23

Comment s’abonner à des événements en C#

Voici un résumé des différentes manières de s’abonner à un événement, via Visual Studio ou par programmation.

1. Depuis Visual Studio, la méthode est assez simple : dans la partie supérieure de la fenêtre Propriétés, cliquez sur le bouton Événements et double-cliquez sur l’événement que vous souhaitez créer.

2. Par programmation, en développant une méthode dont la signature correspond à la signature du délégué pour l’événement. L’avantage est que Visual Studio nous aide pour retrouver la signature (via += et Tab).


Button1.Click += new EventHandler(Button1_Click);

private void Button1_Click(object sender, EventArgs e)
{
   ...
}

3. Par programmation, en utilisant les méthodes anonymes. L’avantage est de pouvoir rapidement s’attacher à un événement et d’interagir avec les variables définies dans la méthode englobante… mais il est nécessaire de connaître la signature de l’événement et Visual Studio ne nous aide pas !

Button1.Click += delegate(object sender, EventArgs e)
  {
     ...
  };

4. Par programmation, en utilisant les expressions Lambda. Dans ce cas également,  on peut s’attacher à un événement rapidement mais sans devoir connaître la signature de l’événement. On spécifie les deux arguments (sender et e) et le compilateur détermine les types d’objets associés.

Button1.Click += (sender, e) =>
  {
     ...
  };

Leave a Reply

Your email address will not be published. Required fields are marked *