226 votes

Comment faire correspondre l'élément sélectionné dans une comboBox à ma chaîne de caractères en utilisant C# ?

J'ai une chaîne "test1" et ma comboBox contient test1 , test2 et test3 . Comment puis-je définir l'élément sélectionné comme étant "test1" ? Autrement dit, comment faire correspondre ma chaîne à l'un des éléments de la liste déroulante ?

Je pensais à la ligne ci-dessous, mais cela ne fonctionne pas.

comboBox1.SelectedText = "test1";

314voto

norbertB Points 2689

Cela devrait faire l'affaire :

Combox1.SelectedIndex = Combox1.FindStringExact("test1")

215voto

Andrew Kennan Points 8221

Avez-vous essayé le Texte propriété ? Ça marche pour moi.

ComboBox1.Text = "test1";

La propriété SelectedText correspond à la partie sélectionnée du texte modifiable dans la zone de texte de la boîte combinée.

51voto

Spence Points 15057

En supposant que votre combobox n'est pas liée à des données, vous devez trouver l'index de l'objet dans la collection "items" de votre formulaire, puis définir la propriété "selectedindex" sur l'index approprié.

comboBox1.SelectedIndex = comboBox1.Items.IndexOf("test1");

N'oubliez pas que la fonction IndexOf peut déclencher une exception si l'élément n'est pas trouvé.

42voto

Frederik Gheysels Points 36354

Si les éléments de votre ComboBox sont des chaînes de caractères, vous pouvez essayer :

comboBox1.SelectedItem = "test1";

12voto

gabore Points 78

Cela n'a fonctionné que pour moi :

foreach (ComboBoxItem cbi in someComboBox.Items)
{
    if (cbi.Content as String == "sometextIntheComboBox")
    {
        someComboBox.SelectedItem = cbi;
        break;
    }
}

MOD : et si vous avez vos propres objets comme éléments configurés dans la combobox, alors remplacez le ComboBoxItem par l'un d'entre eux comme :

foreach (Debitor d in debitorCombo.Items)
{
    if (d.Name == "Chuck Norris")
    {
        debitorCombo.SelectedItem = d;
        break;
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X