質問

次のコードを使用して、ツールストリップにアイテムを動的に追加しようとしています:

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...
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top