こんにちは、簡単な質問があります。これが私のコードです:
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 には、各アナウンスメントの情報が格納されます。リスト項目がクリックされると、メッセージ ボックスがその中にデータとともに表示されるクリック イベント ハンドラーを作成したいと思います。問題は、これを行うためのイベント ハンドラーを動的に生成する方法がわからないことです :(
ベストアンサー1
試す:
/* 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);
}