Выбор элемента по умолчанию из Combobox С#
У меня есть несколько элементов в моей коллекции элементов 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
Ответы
Ответ 1
Вы можете установить с помощью SelectedIndex
comboBox1.SelectedIndex= 1;
ИЛИ
SelectedItem
comboBox1.SelectedItem = "your value"; //
Последний не будет генерировать исключение, если это значение недоступно в combobox
ИЗМЕНИТЬ
Если выбранное значение не является конкретным, вам будет лучше с этим
comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
Ответ 2
Помните, что коллекции в С# основаны на нуле (другими словами, элемент первый в коллекции находится в позиции ноль). Если у вас есть два элемента в вашем списке, и вы хотите выбрать последний элемент, используйте SelectedIndex = 1
.
Ответ 3
Это означает, что ваш выбранный индекс выходит за пределы диапазона элементов в выпадающем списке. Массив элементов в вашем поле со списком с нулевым, поэтому, если у вас есть 2 элемента, это пункт 0 и пункт 1.
Ответ 4
private void comboBox_Loaded(object sender, RoutedEventArgs e)
{
Combobox.selectedIndex= your index;
}
ИЛИ, если вы хотите отобразить некоторое значение после сравнения с combobox
foreach (var item in comboBox.Items)
{
if (item.ToString().ToLower().Equals("your item in lower"))
{
comboBox.SelectedValue = item;
}
}
Надеюсь, это поможет, это работает для меня.
Ответ 5
сначала перейдите к загрузке формы, где находится ваш comboBox,
затем попробуйте этот код
comboBox1.SelectedValue = 0;//показывает первый элемент в вашей коллекции