C#动态添加事件处理程序 [英] C# dynamically add event handler
本文介绍了C#动态添加事件处理程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,我有一个简单的问题。这里是我的代码:
Hi i have a simple question. here is my code:
XmlDocument xmlData = new XmlDocument();
xmlData.Load("xml.xml");
/* Load announcements first */
XmlNodeList announcements = xmlData.GetElementsByTagName("announcement");
for (int i = 0; i < announcements.Count; i++)
{
ToolStripMenuItem item = new ToolStripMenuItem();
item.Name = announcements[i].FirstChild.InnerText;
item.Text = announcements[i].FirstChild.InnerText;
/* HERE IS WERE I NEED HELP */
item.Click += new EventHandler();
this.freedomMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { item });
}
xml LastChild保存每个信息的信息。我想创建一个单击事件处理程序,当单击列表项目时,一个消息框显示与其内的数据。我的问题是我不知道如何动态生成事件处理程序这样做:(
The xml LastChild holds information for each annoucement. I would like to create a click event handler where when teh list item is clicked, a message box shows up with the data inside it. My problem is i dont no how to dynamically generate event handlers to do this :(
推荐答案
try:
/* 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);
}
这篇关于C#动态添加事件处理程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文