Comment : connecter des méthodes de gestionnaire d'événements aux événements

Pour utiliser des événements définis dans une autre classe, vous devez définir et inscrire un gestionnaire d'événements. Le gestionnaire d'événements doit avoir la même signature de méthode que le délégué déclaré pour l'événement. Vous inscrivez votre gestionnaire d'événements en l'ajoutant à l'événement. Une fois que vous avez ajouté votre gestionnaire d'événements à l'événement, la méthode est appelée chaque fois que la classe déclenche l'événement.

Pour obtenir un exemple complet qui illustre le déclenchement et la gestion d'événements, consultez Comment : déclencher et utiliser des événements.

Pour ajouter une méthode de gestionnaire d'événements pour un événement

  • Définissez une méthode de gestionnaire d'événements avec la même signature que le délégué d'événement.
Public Class WakeMeUp
    ' AlarmRang has the same signature as AlarmEventHandler.
    Public Sub AlarmRang(sender As Object, e As AlarmEventArgs)
        '...
    End Sub
    '...
End Class
public class WakeMeUp
{
    // AlarmRang has the same signature as AlarmEventHandler.
    public void AlarmRang(object sender, AlarmEventArgs e)
    {
        //...
    }
    //...
}
public ref class WakeMeUp
{
public:
    // AlarmRang has the same signature as AlarmEventHandler.
    void AlarmRang(Object^ sender, AlarmEventArgs^ e)
    {
        //...
    }
    //...
};
  1. Créez une instance du délégué à l'aide d'une référence à la méthode de gestionnaire d'événements. Lorsque l'instance de délégué est appelée, elle appelle à son tour la méthode de gestionnaire d'événements.
' Create an instance of WakeMeUp.
Dim w As New WakeMeUp()

' Instantiate the event delegate.
Dim alhandler As AlarmEventHandler = AddressOf w.AlarmRang
// Create an instance of WakeMeUp.
WakeMeUp w = new WakeMeUp();

// Instantiate the event delegate.
AlarmEventHandler alhandler = new AlarmEventHandler(w.AlarmRang);
// Create an instance of WakeMeUp.
WakeMeUp^ w = gcnew WakeMeUp();

// Instantiate the event delegate.
AlarmEventHandler^ alhandler = gcnew AlarmEventHandler(w, &WakeMeUp::AlarmRang);
  1. Ajoutez l'instance de délégué à l'événement. Au déclenchement de l'événement, l'instance de délégué et sa méthode de gestionnaire d'événements associée sont appelées.
' Instantiate the event source.
Dim clock As New AlarmClock()

' Add the delegate instance to the event.
AddHandler clock.Alarm, alhandler
// Instantiate the event source.
AlarmClock clock = new AlarmClock();

// Add the delegate instance to the event.
clock.Alarm += alhandler;
// Instantiate the event source.
AlarmClock^ clock = gcnew AlarmClock();

// Add the delegate instance to the event.
clock->Alarm += alhandler;

Voir aussi

Tâches

Comment : déclencher et utiliser des événements

Concepts

Consommation d'événements

Déclenchement d'un événement

Événements et délégués

Autres ressources

Gestion et déclenchement d'événements