Cette documentation est archivée et n’est pas conservée.

EventHandler, délégué

Représente la méthode qui gérera un événement qui n'a aucune donnée d'événement.

Espace de noms : System
Assembly : mscorlib (dans mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public delegate void EventHandler (
	Object sender,
	EventArgs e
)
/** @delegate */
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public delegate void EventHandler (
	Object sender, 
	EventArgs e
)
JScript prend en charge l'utilisation de délégués mais pas la déclaration de nouveaux délégués.

Paramètres

sender

Source de l'événement.

e

EventArgs qui ne contient aucune donnée d'événement.

Le modèle d'événement dans le .NET Framework est fondé sur la présence d'un délégué d'événement qui connecte un événement avec son gestionnaire. Pour déclencher un événement, deux éléments sont nécessaires :

  • Délégué qui identifie la méthode qui fournit la réponse à l'événement.

  • Classe qui contient les données d'événement.

Le délégué est un type qui définit une signature, c'est-à-dire le type de valeur de retour et les types de liste de paramètres d'une méthode. Vous pouvez utiliser le type délégué pour déclarer une variable qui peut faire référence à toute méthode avec la même signature que le délégué.

La signature standard d'un délégué de gestionnaire d'événements définit une méthode qui ne retourne pas de valeur, dont le premier paramètre est du type Object et fait référence à l'instance qui déclenche l'événement, et dont le second paramètre est dérivé du type EventArgs et détient les données d'événement. Si l'événement ne génère pas de données d'événement, le second paramètre est simplement une instance de EventArgs. Sinon, le second paramètre est un type personnalisé dérivé de EventArgs et fournit tous les champs ou les propriétés nécessaires pour conserver les données d'événement.

EventHandler est un délégué prédéfini qui représente spécifiquement une méthode de gestionnaire d'événements pour un événement qui ne génère pas de données. Si votre événement génère des données, vous devez fournir votre propre type de données d'événement personnalisé, puis soit créer un délégué où le type du second paramètre est votre type personnalisé, soit utiliser la classe de délégué EventHandler générique et substituer votre type personnalisé pour le paramètre de type générique.

Pour associer l'événement à la méthode qui gérera l'événement, ajoutez une instance du délégué à l'événement. Le gestionnaire d'événements est appelé à chaque déclenchement de l'événement, sauf si vous supprimez le délégué.

Pour plus d'informations sur les délégués de gestionnaires d'événements, consultez Événements et délégués.

L'exemple de code suivant montre la déclaration d'un délégué de gestionnaire d'événements qui n'utilise pas de données d'événement. La classe EventHandler est le type du délégué d'événement, sender est l'objet qui déclenche l'événement et e est un objet de données d'événement qui ne contient pas de données. La deuxième ligne de code de l'exemple définit le membre d'événement dans votre classe pour un événement qui n'a pas de données.

public delegate void EventHandler(Object sender, EventArgs e);
public event EventHandler NoDataEventHandler;

public delegate void EventHandler(Object sender, EventArgs e);

public EventHandler noDataEventHandler = null;

/** @event 
 */
public void add_NoDataEventHandler(EventHandler p)
{
    noDataEventHandler =(EventHandler)System.Delegate.
        Combine(noDataEventHandler, p);
}//add_NoDataEventHandler

/** @event 
 */
public void remove_NoDataEventHandler(EventHandler p)
{
    noDataEventHandler =(EventHandler)System.Delegate.
        Remove(noDataEventHandler, p);
}// remove_NoDataEventHandler


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Afficher: