Выбор элемента по умолчанию из Combobox C # - PullRequest
29 голосов
/ 12 апреля 2011

В моей коллекции ComboBox есть несколько предметов, и я хотел бы выбрать один элемент из этого списка и установить его в качестве элемента по умолчанию - при запуске приложения - этот элемент уже включен в comboBox.

Я пытаюсь что-то вроде этого:

SelectPrint11.SelectedIndex=2;

, но ошибка:

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

Редактировать:

В mylist 3 элемента, Printer1, Printer2, Printer3.Все добавлено в ComboBox Properties -> Items -> Collection

Ответы [ 5 ]

64 голосов
/ 12 апреля 2011

Вы можете установить, используя SelectedIndex

comboBox1.SelectedIndex= 1;

OR

SelectedItem

comboBox1.SelectedItem = "your value"; // 

Последний не будет выдавать исключение, если значение не доступно в выпадающем списке

EDIT

Если значение, которое будет выбрано, не является конкретным, то вам лучше воспользоваться этим

comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
6 голосов
/ 12 апреля 2011

Помните, что коллекции в C # начинаются с нуля (другими словами, элемент first в коллекции находится в позиции zero ). Если в вашем списке есть два элемента и вы хотите выбрать последний элемент, используйте SelectedIndex = 1.

2 голосов
/ 12 апреля 2011

Это означает, что выбранный вами индекс находится вне диапазона массива элементов в выпадающем списке. Массив элементов в вашем поле со списком на основе нуля , поэтому, если у вас есть 2 элемента, это элемент 0 и элемент 1.

1 голос
/ 04 апреля 2017
private void comboBox_Loaded(object sender, RoutedEventArgs e)
{
 Combobox.selectedIndex= your index;
}

ИЛИ, если вы хотите отобразить какое-то значение после сравнения в выпадающий список

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

Надеюсь, это поможет, у меня работает.

0 голосов
/ 29 ноября 2017

сначала перейдите к загрузке формы, где находится ваш comboBox,

тогда попробуйте этот код

comboBox1.SelectedValue = 0; // показывает первый элемент в вашей коллекции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...