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 :

selectedindexchanged qui ne fonctionne pas


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 172
    Points : 49
    Points
    49
    Par défaut selectedindexchanged qui ne fonctionne pas
    Bonjour à tous,
    J'ai sur mon control un tabcontrol qui contient un tablelayoutpanel qui contient lui meme trois lignes où dans la première j'ai une combobox qui se remplit à l'initialisation.

    J'utilise donc l'évenement tabpage.click, et je remplit ma combobox grace à lui(donc au chargement de la tabpage.

    Cependant j'aimerais assigner une fonction à cette combobox lorsque l'index a changé, donc quand l'utilisateur a sélectionné quelque chose quoi.

    J'ai donc double cliqué sur la ligne selectedindexchanged dans property, la fonction se crée, mais rien n'y fait, quand je lance mon programme la fonction n'est pas appelée, dans cette fonction j'ai juste mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.label.Text = "test";
    et rien.

    J'ai aussi essayé au chargement de ma tabpage de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                    this.liste_systemes.SelectedIndexChanged += new EventHandler(this.liste_systemes_SelectedIndexChanged);
    liste_systemes étant ma combobox.


    D'où pensez vous qu'en tel problème puisse venir?

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    Salut,

    c'est très étrange, ça devrait passer pourtant.
    As tu essayé de changer l'index à la main dans le code, via SelectedIndex ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Points : 456
    Points
    456
    Par défaut
    Déjà je ne pense pas que tabPage.Click soit le meilleur moment pour charger ta combo, en effet tabPage.Click se produit lorsque l'utilisateur click sur le tabPage, et non quand ce dernier est sélectionné.
    Je te propose d'utiliser TabControl.Selecting.
    La même choses pour la combo, moi je préfère utiliser l'event SelectedValueChanged :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     private void monTabControl_Selecting(object sender, TabControlCancelEventArgs e)
            {
                  if (e.TabPage == tabPage1)
                {
                     //abonnement à l'event
                     this.liste_systemes.SelectedValueChanged += new EventHandler(this.liste_systemes_SelectedValueChanged);
                     //Charge ta combo
                }
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void liste_systemes_SelectedValueChanged(object sender, EventArgs e)
            {
                this.label.Text = "test";
                //Autres traitements
            }
    Normalement comme ceci ca fonctionne très bien.

    Bonne continuation a+

  4. #4
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par hotsizzle Voir le message
    ... moi je préfère utiliser l'event SelectedValueChanged ...
    Ne fonctionne que si ValueMember est renseigné et donc si la ComboBox est bindée (sachant qu'elle peut être bindée mais sans utiliser le ValueMember ...). Comme on ne sait pas si c'est le cas de r0seBa ça ne collera peut être pas.

    r0seBa, si tu fais un nouveau projet Windows Forms, sur la Form de démarrage tu colles une ComboBox et tu vois si tu peux reproduire le problème. Et si ça se trouve ça fonctionnera et tu comprendras pourquoi et le problème sera résolu sans avoir de code à montrer ^^
    Pas de questions techniques par MP

  5. #5
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 172
    Points : 49
    Points
    49
    Par défaut
    Merci de vos réponses, j'ai fait comme indiqué, j'ai utilisé un selecting au lieu du click. ça marche le combobox est toujours initialisé (quand je dit initialiser en fait c'est rentrer les items quoi ).

    Mais le selectedindexchanged ne fonctionne toujours pas, j'ai également essayé de changer l'index manuellement mais rien n'y fait.

    Je demande quand meme mais ça doit pas venir de là: Pour le moment j'ai qu'un seul item dans ma combobox, ça ne peut pas venir de là quand même?[EDIT: Non je viens de tester ça ne vient pas de là]

    J'avoue être vraiment à court d'idées là je vois pas du tout d'où ça pourrait venir.


    Merci

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    Citation Envoyé par r0seBa Voir le message
    Je demande quand meme mais ça doit pas venir de là: Pour le moment j'ai qu'un seul item dans ma combobox, ça ne peut pas venir de là quand même?[EDIT: Non je viens de tester ça ne vient pas de là]
    Merci
    Tu es sûr d'avoir bien testé ce cas ? Si tu n'as qu'un seul élément, comment l'index peut il changer ?

    ps : il y a bien un cas particulier, lorsque ta combo n'a rien de sélectionné au départ (SelectedIndex =-1) et que tu sélectionne ton seul élément(selectedIndex=0).

  7. #7
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 172
    Points : 49
    Points
    49
    Par défaut
    Oui par défaut ma combobox n'a aucun élément de séléctionné, alors selectedIndex vaut -1.

    J'avoue que là ça me bloque un peu pour continuer ce bug, n' y a-t-il pas une propriété à activer pour que les événements soient disponibles ou quelque choes du genre?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    donc pour résumer, tu n'as pas de selectedindexchanged lorsque que choisit ton seul élément dans ta combo (initialement rien de sélectionné) ?

  9. #9
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 172
    Points : 49
    Points
    49
    Par défaut
    J'ai relancé visual studio à l'instant et ça fonctionnait, faudra qu'on m'explique

    En tout cas merci de votre aide !

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

Discussions similaires

  1. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08
  2. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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