0
システム上で使用可能なSerialPortsの読み込みとmenuStripアイテムの設定に依存するプログラムを構築しています。私はmenuStripサブメニューに値を設定することができましたが、動的に埋め込まれたリストにクリックイベントを追加する方法について固まっています。私のコードは以下の通りです:私は何かのように感じるC#ダイナミックなmenuStripアイテムに対してクリックアクションを割り当てます。
public void getPorts()
{
int count = 0;
string[] ports = SerialPort.GetPortNames();
foreach(string port in ports)
{
//MessageBox.Show("Serial Port " + port + " found!");
ToolStripItem subItem = new ToolStripMenuItem(port);
portMenuItem.DropDownItems.Add(port);
count += 1;
}
}
はforeach
ループに入る必要があるが、私はそれを見つけることができませんでした。どんな助けも素晴らしいだろう!
チップをありがとう。私はそれを使用しようとし、MenuItem_Clickで単純なMessageBox.Showを追加しましたが、動作していないようです。たとえば、私のコンピュータはポートCOM5、COM1、およびCOM11を報告します。私がCOM5をクリックすると、メッセージボックスにはプロダクトが表示されません。私は何かを欠いていると思いますか? – Alex
@Alexはあなたのように思えます。各メニューアイテム 'subItem.Click + = MenuItem_Click; 'にイベントハンドラを割り当てて、そのメソッドにブレークポイントを設定してください。メニュー項目 –
@ SergeyBerezovskyをクリックしたときにブレークポイントが当てはまるかどうかチェックしてください申し訳ありませんが、私は上記のsubItem.Click + = MenuItem_Clickコードにも追加しておきました。まだ動作しません... 編集: 'menuItem_Click'関数にブレークポイントを追加しました。サブアイテムをクリックしてブレークポイントを起動しません。 – Alex