ComboBox, texte affiché et valeur

Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009 - 28 juin 2004 à 17:40
cs_JuS Messages postés 121 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 20 mars 2009 - 29 juin 2004 à 14:33
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

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
28 juin 2004 à 18:17
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 !!!!
0
cs_JuS Messages postés 121 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 20 mars 2009 1
29 juin 2004 à 14:33
... 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
0
Rejoignez-nous