Обработка событий с помощью динамического ToolStripItem - PullRequest
1 голос
/ 05 марта 2009

Я пытаюсь динамически добавлять элементы в набор инструментов с помощью следующего кода:

contextMenuStrip.Items.Add(string.Format("{0} kB/s", currSpeed), null, new EventHandler(Connection.SetSpeed));

Проблема в том, что мне нужно передать параметр в Connection.SetSpeed: currSpeed ​​(int). Как я могу это сделать?

Спасибо за ваше время. С наилучшими пожеланиями.

1 Ответ

1 голос
/ 05 марта 2009

Вызов add вернет вам ToolStripItem, если вы установите его свойство Tag в переменную currSpeed, вы сможете извлечь этот ToolStripItem через аргумент отправителя в методе Connection.SetSpeed, когда по элементу щелкают ...

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...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...