C#, C♯, C#相談室 Part42at TECH
C#, C♯, C#相談室 Part42 - 暇つぶし2ch103:デフォルトの名無しさん
07/08/30 08:38:09
ToolStripMenuで動的に追加された項目のクリックで処理をしたいのですが、
第一階層目のContextMenuStripではうまくクリックイベントの処理を行えたのですが、
第二階層目のToolStripMenuItemsでDropDownItemsにAddすると、
項目名がひとつしか表示されず、しかもクリックすると、本来ある項目数の数だけ
同じ処理が実行されてしまうような状態にあります。
どのようにすればそれぞれの項目の表示と、適切なクリックイベントの追加ができるようになるか
ご教授いただけないでしょうか。

ToolStripMenuItem items_for_A = new ToolStripMenuItem();
ToolStripMenuItem items_for_B = new ToolStripMenuItem();
Hashtable ht = new Hashtable(); // この中にはいくつかデータがあります

foreach(string ID in ht.keys)

    items_for_A.Text = ID;
    items_for_B.Text = ID;

    // 編集項目
    items_for_A.Click += delegate
    {
        NewForm Frm = new NewForm(ID);
        Frm.Show(); // フォームの表示
    };
    this.ToolStripMenuItemA.DropDownItems.Add(items_for_A);

    items_for_B.Click += delegate
    {
        Program.Hoge(ID); // 処理
    };
    this.ToolStripMenuItemB.DropDownItems.Add(items_for_B);
}


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch