Meilleur auteur de réponses
Comment selectionner un element automatique dans une liste déroulante ?

Question
-
Salut a tous
J'ai 2 listes deroulantes et j'aimerais que lorsque je selectionne un nom dans la 1ere liste déroulante alors un nom de la 2eme liste déroulante se selectionne automatiquement?
Ex: Dans la 1ere liste si je selectionne Paul alors Jack se selectionne automatiquement dans la 2eme liste
C'est faisable ?
Merci
Réponses
-
Bonjour sun2k,
C'est possible d'avoir le code complet afin d'apprendre ?
Oui, voici le code complet. Il vous reste à vous abonner aux événements SelectedIndexChanged (de la liste déroulante comboBox1) et Load (du formulaire) dans le concepteur de Visual Studio (fenêtre Propriétés / Properties dans la version anglaise) :
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace ZonedeListederoulante_cs { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { string choix = this.comboBox1.GetItemText(this.comboBox1.SelectedItem); switch(choix) { case "Paul": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Jack"); break; case "Vincent": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Maximilien"); break; case "Gilbert": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Georges"); break; } } private void Form1_Load(object sender, EventArgs e) { comboBox1.Items.AddRange(new string[] { "Paul", "Vincent", "Gilbert" }); comboBox2.Items.AddRange(new string[] { "Georges", "Jack", "Maximilien" }); } } }
Cordialement,
Dimitar- Modifié Dimitar DenkovMicrosoft contingent staff, Moderator mercredi 5 janvier 2022 10:02
- Proposé comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator lundi 10 janvier 2022 11:30
- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator jeudi 20 janvier 2022 13:43
Toutes les réponses
-
Bonjour sun2kl,
Pour sélectionner l’élément dans la deuxième zone de liste déroulante, il suffit d’écrire la valeur de
l’élément choisi dans une variable chaîne et de définir la propriété SelectedIndex de la deuxième zone de
liste déroulante (par exemple, dans l’instruction switch). J’espère que l’extrait de code suivant vous sera
utile (Windows Forms, Visual C#) :
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { //dans comboBox1 : Paul, Vincent, Gilbert ; dans comboBox2 : Georges, Jack, Maximilien string choix = this.comboBox1.GetItemText(this.comboBox1.SelectedItem); switch(choix) { case "Paul": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Jack"); break; case "Vincent": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Maximilien"); break; case "Gilbert": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Georges"); break; } }
Voici deux captures d’écran, avant et après le clique sur l’élément Paul.
Cordialement,
Dimitar- Modifié Dimitar DenkovMicrosoft contingent staff, Moderator jeudi 30 décembre 2021 07:00
-
-
Bonjour sun2k,
C'est possible d'avoir le code complet afin d'apprendre ?
Oui, voici le code complet. Il vous reste à vous abonner aux événements SelectedIndexChanged (de la liste déroulante comboBox1) et Load (du formulaire) dans le concepteur de Visual Studio (fenêtre Propriétés / Properties dans la version anglaise) :
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace ZonedeListederoulante_cs { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { string choix = this.comboBox1.GetItemText(this.comboBox1.SelectedItem); switch(choix) { case "Paul": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Jack"); break; case "Vincent": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Maximilien"); break; case "Gilbert": comboBox2.SelectedIndex = comboBox2.Items.IndexOf("Georges"); break; } } private void Form1_Load(object sender, EventArgs e) { comboBox1.Items.AddRange(new string[] { "Paul", "Vincent", "Gilbert" }); comboBox2.Items.AddRange(new string[] { "Georges", "Jack", "Maximilien" }); } } }
Cordialement,
Dimitar- Modifié Dimitar DenkovMicrosoft contingent staff, Moderator mercredi 5 janvier 2022 10:02
- Proposé comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator lundi 10 janvier 2022 11:30
- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator jeudi 20 janvier 2022 13:43