C# динамично добавляют обработчик событий

как тарифицируют Ящерицу, сказал,

она помогает иметь параллельную структуру так, чтобы 1) я мог поставить src.zip или src.tar.gz и не учесть модульные тесты 2) На уровне системы управления версиями, можно поместить, зацепляется, кто изменяет исходный код и кто изменяет только модульные тесты

"Недостаток"
, Вы не можете изолировать свой файл JAR, если и источник и модульные тесты находятся в том же пакете (значение, необходимо удалить модульные тесты прежде, чем подготовить.JAR и изолировать его)

21
задан Tony 7 October 2009 в 13:18
поделиться

5 ответов

попробуйте:

 /* HERE IS WERE I NEED HELP */

 item.Click += new EventHandler(toolStripClick);

фактический обработчик:

void toolStripClick(object sender, EventArgs e)
{
     ToolStripItem item = (ToolStripItem)sender;
     MessageBox.Show(item.Text);
}    
39
ответ дан 29 November 2019 в 20:09
поделиться

Вы можете использовать свойство Tag объекта ToolStripMenuItem:

item.Tag = Announcements[i].LastChild.InnerText;

public void item_click(object sender, EventArgs e)
{
    var menu = sender as ToolStripMenuItem;
    if (menu!= null)
        MessageBox.Show(menu.Tag);
}

Или вы можете использовать лямбда, которая будет фиксировать переменную:

string data = Announcements[i].LastChild.InnerText;
item.Click += (s, e) => { MessageBox.Show(data); };
5
ответ дан 29 November 2019 в 20:09
поделиться

Что ж, если я правильно понимаю ваш вопрос, ваш раздел «требуется помощь» должен выглядеть следующим образом:

item.Click += new EventHandler(item_click);

, тогда вам просто нужно добавить функцию в свой класс:

public void item_click(object sender, EventArgs e)
{
   //do stuff here
}
2
ответ дан 29 November 2019 в 20:09
поделиться

запрашиваете ли вы подпись для события щелчка ? если вы работаете в Visual Studio, вы должны иметь возможность набрать

item.Щелкните + = tab tab

, и он сгенерирует что-то для вас

2
ответ дан 29 November 2019 в 20:09
поделиться

Я бы порекомендовал вам изучить подписки на события. В случае, если вы должны убедиться, что это последний пункт в пункте меню.
Посмотрите в справке MSDN пункт

0
ответ дан 29 November 2019 в 20:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: