Commet vérifier si un évenement est déjà 'abonné'

Signaler
Messages postés
1
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
8 avril 2010
-
Messages postés
233
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
25 octobre 2010
-
Bonjour à tous,

Voici déjà une portion de code

private void button1_Click(object sender, EventArgs e)
        {
            button2.Click+=new EventHandler(button2_Click);

        }



Ce que fait button2_onclick n'a pas d'importance (mettez un console.writeline par exemple)

A chaque fois que je vais cliquer sur le button1, un EventHandler sera rajouté à button2.Click. Au final si je clique 4 fois sur button1, et que je clique sur button2, cela exécutera 4 fois button2_Click.
Comment puis vérifier que l'évenement Click appelle déjà button2_Click ? le but étant d'éviter de faire
button2.Click+=new EventHandler(button2_Click);
si c'est déjà fait une fois

Bien sur épargnez-moi les variables globales, je veux quelque chose de propre

Voilà merci d'avance et à vos claviers !

2 réponses

Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
Bonjour,
Il suffit de désabonner ton évènement avant :


private void button1_Click(object sender, EventArgs e)
{
    button2.Click-=new EventHandler(button2_Click);

    button2.Click+=new EventHandler(button2_Click);

}
Messages postés
233
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
25 octobre 2010

ou plus proprement de tester que click n'est pas null... (ce que tu es censé faire lorsque tu lance des évènements personnels

if (!button2.Click)
{
button2.Click+=new EventHandler(button2_Click);
}


Nul ne devient grand par la guerre...