[.Net]Desactiver temporairement un event

teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   -  
teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut tout le monde!
Voila, je me demandais comment je pouvais faire pour, le temps d'excecuter une commande, desactiver tous les evenements d'une form (en fait je change automatiquement tous les champs de la form et je ne veux pas que cela declenche les evenements en question parce que mon element est encore nul et que du coup ils plantent, les evenements...)
Merci a ceux qui ont des idees :o)

.  .  Les chiffres sont formels
\_/  Il y a de + en + d'étrangers dans le monde

4 réponses

  1. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    Salut,
    ba il te suffit d'associer ton evenement avec un flag...
    le flag en var global..
    quand ta commande s'execute le flag devient occupé se qui empechera l'execution sur event et si flag libre hop en voiture simone...
    techniquement c'est juete une declaration et un if a rajouter dans ton code...
    pour faire un truc plus chiader tu peux te faire une classe Flag ou token que tu passerra de module en module mais la c 'est plus long a modifier.

    bon courage
    0
  2. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Merci...
    Le probleme c'est que j'ai une centaine d'evenenements a modifier...en fait ce que j'ai fait, j'ai fait une fonction Enable et une Disable dans cet ordre d'idee:

    this.m_ListInfos.SelectedIndexChanged -= new System.EventHandler(this.m_ListInfos_SelectedIndexChanged);
    this.m_TextRevision.TextChanged -= new System.EventHandler(this.m_TextRevision_TextChanged);
    this.m_TextMinor.TextChanged -= new System.EventHandler(this.m_TextMinor_TextChanged);

    pour le Enable, avec des += a la place...Ca a ete plus rapide, j'ai juste selectionne les lignes evenements dans le createur de form et vogue la galere :o)
    Merci, j'esperait qu'il y a avait un moyen plus simple genre DisableAllEvents directement mais bon :o(

    .  .  Les chiffres sont formels
    \_/  Il y a de + en + d'étrangers dans le monde
    0
  3. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    ba j ai pas mon visual .NET sous la main la... mais ya pas dans quand tu tape System.EventHandler. ya pas un attribut explicite dans la liste ou une methode de temporisation?
    0
  4. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Non, c'est la premiere chose que j'ai regarde :-S

    .  .  Les chiffres sont formels
    \_/  Il y a de + en + d'étrangers dans le monde
    0