Evenements [Résolu]

Signaler
Messages postés
29
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
21 novembre 2008
-
Messages postés
29
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
21 novembre 2008
-
Quelqu'un sait comment lever ou déclencher un événement?
Il sagit en fait de créer un événement pour une classe.

Merci

7 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Salut,

//Déclarer un event :
public static event System.EventHandler MyEvent;

//Utiliser l'event :
if(MyEvent != null) MyEvent(null, null);

Autre exemple plus complet :
http://www.csharpfr.com/code.aspx?ID=26735

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Euh petite précision, tu peux enlever le static pour l'event (je l'avais rajouté, car j'ai vite tapé le code dans VS en testant avec le main ).
Et pendant que j'y suis, tu es bien sur pas obligé de passer null et null comme argument, tu peux passer ce que tu veux (un object et un eventArgs).
Si tu veux passer d'autres types, alors il faut créer un delegate.

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Salut,

En fait je ne dirais pas "tu es bien sur pas obligé de passer null et null comme argument" mais plutot "il ne vaut mieux pas passer null mais plutôt" :

if(MyEvent != null) MyEvent(this, new System.EventArgs());

Du moins le plus important à mon avis est que le "sender" ne soit pas null.
:-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Yep, sinon FxCop va raler

Mx
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Rôôôô mais quels râleurs ces deux

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
5
Tu dois aussi pouvoir passer quelque chose comme :



if(MyEvent != null) MyEvent(this, EventArgs.Empty);
Messages postés
29
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
21 novembre 2008

Merci à tous ;)