我试图在个人计算机上提取打印机列表,并让该人能够选择打印机。我正在使用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#很新,所以我非常感谢你的帮助。
答案 0 :(得分:0)
所以我想出来......就像我说我还在学习。
我手动将InitializeComponent()放置在表单创建中。删除该单独命令后,可以按预期选择项目。
感谢您的帮助和建议!