46 votes

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

J'ai quelques articles sur mon ComboBox Je voudrais sélectionner un élément de cette liste et le définir comme élément par défaut. Au démarrage de l'application, cet élément est déjà présent. comboBox .

J'essaie quelque chose comme ça :

SelectPrint11.SelectedIndex=2;

mais l'erreur est :

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

Editar:

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

94voto

V4Vendetta Points 15354

Vous pouvez régler en utilisant SelectedIndex

comboBox1.SelectedIndex= 1;

OU

SelectedItem

comboBox1.SelectedItem = "your value"; // 

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

EDITAR

Si la valeur à sélectionner n'est pas spécifique, il est préférable de procéder comme suit

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

8voto

Michael Petrotta Points 35647

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

3voto

Ahmad Points 525
private void comboBox_Loaded(object sender, RoutedEventArgs e)
{
 Combobox.selectedIndex= your index;
}

OU si vous voulez afficher une valeur après avoir comparé dans la combobox.

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

J'espère que cela vous aidera, cela fonctionne pour moi.

2voto

Tony The Lion Points 28208

Cela signifie que votre selectedindex est en dehors de la plage du tableau des éléments de la combobox. Le tableau des éléments de votre liste déroulante est le suivant base zéro Ainsi, si vous avez 2 articles, ce sera l'article 0 et l'article 1.

2voto

Ayoub CHELLABI Points 11

C'est la forme correcte :

comboBox1.Text = comboBox1.Items[0].ToString();

Vous êtes les bienvenus

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