C# 動的にイベント ハンドラーを追加する 質問する

C# 動的にイベント ハンドラーを追加する 質問する

こんにちは、簡単な質問があります。これが私のコードです:

        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);
}    

おすすめ記事