システムで利用可能な既存の 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);
}
}
}
アイテムを追加するときに使用するキーを指定できますか? または、既存のアイテムを確認する別の方法はありますか?