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

pdu44 Messages postés 1 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 8 avril 2010 - 8 avril 2010 à 14:01
Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010 - 16 avril 2010 à 11:22
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

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
8 avril 2010 à 14:25
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);

}
0
Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010
16 avril 2010 à 11:22
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...
0
Rejoignez-nous