ComboBox SelectedIndex始终返回-1

时间:2016-07-02 22:54:56

标签: c# combobox selectedindex

我试图在个人计算机上提取打印机列表,并让该人能够选择打印机。我正在使用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:Items:

奇怪的是,我仍然可以看到ComboBox中的所有项目,但我似乎无法在代码中引用它们。该计划并不认为它们存在。我仍然对C#很新,所以我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

所以我想出来......就像我说我还在学习。

我手动将InitializeComponent()放置在表单创建中。删除该单独命令后,可以按预期选择项目。

感谢您的帮助和建议!