web-dev-qa-db-fra.com

Sélection de l'élément par défaut dans Combobox C #

J'ai quelques éléments dans ma collection d'éléments ComboBox, et je voudrais sélectionner un élément dans cette liste et le définir comme élément par défaut - au démarrage de l'application - cet élément est déjà sur comboBox.

J'essaye quelque chose comme ça:

SelectPrint11.SelectedIndex=2;

mais l'erreur est:

System.ArgumentOutOfRangeException: InvalidArgument=Value of '2' is not valid for 'SelectedIndex'

Modifier:

Dans mylist sont 3 éléments, Printer1, Printer2, Printer3. Tous sont ajoutés dans ComboBox Properties -> Items -> Collection

29
Elfoc

Vous pouvez définir en utilisant SelectedIndex

comboBox1.SelectedIndex= 1;

OR

SelectedItem

comboBox1.SelectedItem = "your value"; // 

Ce dernier ne lèvera pas d'exception si la valeur n'est pas disponible dans la combobox

[~ # ~] modifier [~ # ~]

Si la valeur à sélectionner n'est pas spécifique, alors vous feriez mieux de

comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
64
V4Vendetta

N'oubliez pas que les collections en C # sont basées sur zéro (en d'autres termes, l'élément premier dans une collection est à la position zéro). Si vous avez deux éléments dans votre liste et que vous souhaitez sélectionner le dernier élément, utilisez SelectedIndex = 1.

6
Michael Petrotta

Cela signifie que votre index sélectionné est hors de la plage du tableau d'éléments dans la zone de liste déroulante. Le tableau des éléments de votre zone de liste déroulante est base zéro, donc si vous avez 2 éléments, il s'agit de l'élément 0 et de l'élément 1.

2
Tony The Lion
private void comboBox_Loaded(object sender, RoutedEventArgs e)
{
 Combobox.selectedIndex= your index;
}

OU si vous souhaitez afficher une valeur après avoir comparé dans la zone de liste déroulante

 foreach (var item in comboBox.Items)
            {
                if (item.ToString().ToLower().Equals("your item in lower"))
                {
                    comboBox.SelectedValue = item;
                }
            }

J'espère que ça va aider, ça marche pour moi.

1
Ahmad