動的ToolStripItemを使用したイベント処理
-
03-07-2019 - |
質問
次のコードを使用して、ツールストリップにアイテムを動的に追加しようとしています:
contextMenuStrip.Items.Add(string.Format("{0} kB/s", currSpeed), null, new EventHandler(Connection.SetSpeed));
問題は、Connection.SetSpeedにパラメーターを渡す必要があることです:currSpeed(int)。 どうすればいいですか?
お時間をいただきありがとうございます。 よろしく。
解決
addを呼び出すとToolStripItemが返されます。TagプロパティをcurrSpeed変数に設定すると、アイテムがクリックされたときにConnection.SetSpeedメソッドのsender引数を介してそのToolStripItemを取得できるはずです...
ToolStripItem item = contextMenuStrip.Items.Add(string.Format("{0} kB/s", currSpeed), null, new EventHandler(Connection.SetSpeed));
item.Tag = currSpeed;
void Connection.SetSpeed (object sender, EventArgs e)
{
ToolStripItem item = (ToolStripItem)sender;
int currSpeed = (int)item.Tag;
// Do stuff...
}
所属していません StackOverflow