Recherche
 
 
 
Tutoriaux
 
- Initiation à VS .NET
- Agencement des composants
- Menu déroulant
- Pop-up
- Traitement des fichiers
- Les Délégués
- Les Threads
- Fichiers XML
- Flux Web
- Services Web
 
 
Projets
 
- Calpe's World
- Sarky
- CyberAbuse
 
 
Me conctacter
 
- Demande d'aide
- Me proposer un poste
 
 
Liens
 
- Developpez.com
- C# Help
- Cours C# de l'ESSI
 
 
Combo Box (ComboBox)

Le combo box est une liste déroulante mais avec un seul élément afffiché.


Comment remplir un ComboBox ?

Après avoir posé ce composant sur le formulaire. On a souvent besoin de le remplir. Pour ceci il suffit d'aller modifier ses propriétés:

En cliquant sur la valeur du champs Items, on voit apparaître une fenêtre de dialogue qu'il suffit de remplir.


Il suffit de remplir cette fenêtre, chaque ligne représente un élément. On peut aussi bien mettre des chaînes de caractères bien entendu.

On peut aussi avoir besoin de remplir ce composant en passant par le code si on fait appel à une autre source de données par exemple. Pour ce faire on utilisa la ligne suivante:
comboBox1.Items.AddRange(new object[] {"element ajouté"});

On peut par exemple construire un Combo Box pour choisir le mois de l'année.
On clique deux fois sur le formulaire pour se retrouver dans la méthode appelée lors de l'ouverture de la fenête.
          private void Form1_Load(object sender, System.EventArgs e)
          {
               for(int i=1; i < 13 ; i++)
                    comboBox1.Items.AddItem(new object[] {i});
          }

Dans cet exemple on remplit l'objet comboBox1 des éléments: 1, 2 ,4 ... 12. En incrémentant l'entier i.
Il faut ensuite revenir dans les propriétés de comboBox1 pour mettre le champs Text sans valeur.

Comment sélectionner une valeur par défaut à l'affichage ?

Dans notre exemple un Combo Box qui donne le choix entre plusieurs mois on veut par exemple que le mois par défaut soit le mois de mars (3) quand la fenêtre s'affichera.
Pour ceci rien de plus simple la propiété SelectedText permet de le faire aisément.
Par exemple:
comboBox4.SelectedText="3";

Comment rendre le Combo Box non-éditable ?

Dans notre exemple, une personne n'aura le choix qu'entre les 12 mois de l'année mais elle peut à l'aide du clavier modifier la valeur affichée.
Pour éviter ce problème on peut empêcher le champs de devenir éditable.
Comment récupérer la valeur du Combo Box ?

En reprenant notre exemple précédent, on va ajouter un bouton a notre formulaire qui va nous indiquer, en cliquant dessus quelle valeur par le Combo Box a été sélectionnée.
On commence par ajouter ce bouton.

On clique sur le bouton afin d'entrer dans code de la méthode invoquée lors du clic.
          private void button1_Click(object sender, System.EventArgs e)
          {
               string result = comboBox1.Text;
               MessageBox.Show(result);
          }

La propriété Text va récupérée la valeur sélectionnée.
On l'affiche dans un pop up grâce à MessageBox.Show().


Voici le résultat !