ComboBox SelectedIndex всегда возвращает -1
Я пытаюсь получить список принтеров на компьютере пользователя и дать этому человеку возможность выбрать принтер. Я использую ComboBox для отображения списка установленных принтеров (но пробовал несколько других элементов управления).
Я разместил этот код в нескольких областях, пытаясь решить эту проблему:
private void PrintForm_Load(object sender, EventArgs e)
{
foreach (string my_installed_printers in PrinterSettings.InstalledPrinters)
{
printer_list.Items.Add(my_installed_printers);
}
}
Вот мой код для определения изменения индекса:
private void printer_list_SelectedIndexChanged(object sender, EventArgs e)
{
Console.WriteLine("SelectedIndex: " + printer_list.SelectedIndex);
Console.WriteLine("SelectedItem: " + printer_list.SelectedItem);
Console.WriteLine("SelectedValue: " + printer_list.SelectedValue);
Console.Write("Items: ");
foreach (string my_item in printer_list.Items)
{
Console.Write(my_item + ", ");
}
Console.WriteLine();
}
Это всегда возвращает:
SelectedIndex: -1 SelectedItem: SelectedValue: Элементы:
Странно то, что я все еще вижу все элементы в ComboBox, но я не могу ссылаться на них в коде. Программа не думает, что они существуют. Я все еще новичок в C#, поэтому я очень ценю помощь.
1 ответ
Так что я понял это... Как я уже сказал, я все еще учусь.
Я вручную поместил InitializeComponent() в создание формы. После удаления этой отдельной команды элементы можно было выбирать по назначению.
Спасибо за вашу помощь и предложения!