我正在将系统上可用的现有 COM 端口添加到下拉列表中。到目前为止,我有这个:
private void Form1_Load(object sender, EventArgs e)
{
foreach (string port in System.IO.Ports.SerialPort.GetPortNames())
{
ToolStripMenuItem t = new ToolStripMenuItem();
t.Text = port;
t.Checked = port == notifier.COMPort;
t.Click += t_Click;
setPortToolStripMenuItem.DropDownItems.Add(t);
}
}
这在最初添加端口时有效,但是我想在用户单击我的下拉框以显示端口之前再次检查已添加或删除的 COM 端口。
我知道我可以使用setPortToolStripMenuItem.DropDOwnItems.ContainsKey()
,但我不知道添加它们时它使用什么键。
这不起作用:
private void setPortToolStripMenuItem_DropDownOpening(object sender, EventArgs e)
{
string[] ports = System.IO.Ports.SerialPort.GetPortNames();
foreach (string s in ports)
{
if (!setPortToolStripMenuItem.DropDownItems.ContainsKey(s))
{
ToolStripMenuItem t = new ToolStripMenuItem();
t.Text = s;
t.Checked = s == notifier.COMPort;
t.Click += t_Click;
setPortToolStripMenuItem.DropDownItems.Add(t);
}
}
}
我可以在添加项目时指定它使用的键,还是有另一种检查现有项目的方法?