ComboBox, texte affiché et valeur

Signaler
Messages postés
309
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
5 mars 2009
-
Messages postés
121
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
20 mars 2009
-
j'utilise des ComboBox dans un programme C#, et j'aurais voulu avoir un fonctionnement similaire aux combobox HTML, à savoir avoir un texte affiché dans la combobox pour chacun des éléments et une valeur associé.
Par exemple, j'ai une combo avec deux choix possible "En Attente" et "Validé". Comment faire pour que si je choisi "En Attente", ça me retourne la valeur "A" et que si je choisi "Validé", ça me retourne la valeur "V"

Merci d'avance ^^

Final Fantasy Memories Venez découvrir les origines d'une saga

2 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
ben tu te sert de DisplayMember et ValueMember
tu te codes une classe avec 2 membres et 2 propriétés (Texte et Valeur)et comme item tu ajoutes une instance de la classe, en ayant spécifier DisplayMember "Texte" et ValueMember "Valeur"

Cocoricoooooooo !!!!
Messages postés
121
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
20 mars 2009
1
... ou alors une autre possibilité :

Tu codes une classe (comme Coq a dit) avec 2 membres, les accesseurs (GET) de tes membres et tu surcharges la méthode ToString :

public class MaClasse
{
    private int iValeur = 0;
    private string sNom = "";

    public MaClasse(int iValeur, string sNom)
    {
         this.iValeur = iValeur;
         this.sNom = sNom;
     }

     public int getValeur()
     {
          return(this.iValeur);
     }

     public string getNom()
     {
          return(this.sNom);
     }

     public override string ToString()
     {
          return (this.getNom());
     }
}


Puis pour remplir ton ComboBox tu fais :

monCombo.Items.Add(new MaClasse(0,"Toto"));


Ainsi ton ComboBox comporte une liste d'objet qui est affichée à l'aide de la méthode surchargé ToString de MaClasse.

Pour récupérer la valeur de l'élément sélectionné tu fais :

((MaClasse)monCombo.SelectedItem).getValeur();

(tu peux faire la même avec les autres méthodes de ta classe)

Voila, c'est tout !

-=[JuS]=-

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live