IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Comment bloquer la levée d'événement sur un contrôle (combobox en l'occurrence) ?


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut Comment bloquer la levée d'événement sur un contrôle (combobox en l'occurrence) ?
    Bonjour,
    Je détermine de manière programmatique la datasource de ma combobox winform, son DisplayMemeber, son ValueMemeber et son SelectedIndex, tout ça sur 4 lignes qui se suivent. Malheureusement CHAQUE ligne fait se lever l'événement SelectedIndexChanged. En dehors de la bizarrerie de ce comportement, est-ce qu'il y a moyen de ne pas lever tel ou tel événement, ou bien de bloquer tous les événements jusqu'au moment où on le décide?
    Merci pour vote aide,
    Julien

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Bonjour,

    tu peux affecter l’événement a ta ComboBox après avoir mis tout ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taComboBox.SelectedIndexChanged += new System.EventHandler(this.TaMethode);
    Ou si tu veux laisser cette logique la ou elle est de base , mets un petit booléen IsReady qui est a false le temps que tu affectes tout ce qu'il faut et qui passe a true quand tout est prêt , après dans ta méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
             private void TaMethode(object sender, EventArgs e)
            {
                 if(IsReady)
                        {
                        // ...
                        }
            }
    Ou encore , tu pourrais aussi mettre tes affections dans le fichier Designer.cs , la ou se trouve la logique WinForm , afin de les mettre avant l'affection de l’événement. (par contre le concepteur de vues peut faire la gueule si ce n'est pas assigné comme il le faut)

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 93
    Points : 127
    Points
    127
    Par défaut
    Tu peux désaffecter par :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <variableCombo> -= <event>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment afficher correctement des Balloon ToolTip sur des contrôles?
    Par NicolasJolet dans le forum Windows Forms
    Réponses: 22
    Dernier message: 31/12/2021, 14h42
  2. Réponses: 2
    Dernier message: 22/06/2011, 15h21
  3. Réponses: 9
    Dernier message: 15/02/2011, 08h24
  4. Réponses: 3
    Dernier message: 06/05/2010, 10h59
  5. Réponses: 2
    Dernier message: 02/06/2008, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo