Gestionnaires d'évènements ... [Résolu]

Signaler
Messages postés
7
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
27 février 2006
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,

J'ai 2 évènements ( KeyDown et EditValueChanged ) qui se court-circuitent correspondant à 2 gestionnaires d'évènements :


this.lueVILLES.Properties.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lueVILLES_Properties_KeyDown);


this.lueVILLES.EditValueChanged += new System.EventHandler(this.lueVILLES_EditValueChanged);


J'aimerais, dans certains cas, que seulement un des deux soit "actifs" ou pouvoir au moins le suspendre.

Est-ce possible ? Si oui comment ?

Merci pour vos réponses.

1 réponse

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Salut,

J'aurais 2 pistes pour toi :

- te désabonner de l'event dont tu ne veux plus
KeyEventHandler _keyDownEventHandler; // membre de la classe
...
this._keyDownEventHandler = new System.Windows.Forms.KeyEventHandler(this.lueVILLES_Properties_KeyDown); // constructeur, etc
...
this.lueVILLES.Properties.KeyDown += this._keyDownEventHandler; // abonnement
...
this.lueVILLES.Properties.KeyDown -= this._keyDownEventHandler; // désabonnement

- conserver les abonnements, mais tester un booléen (du genre "mustHandleKeyDown") au début de la méthode associée afin de savoir si il faut faire le traitement.

/*
coq
MVP Visual C#
*/