treenodeに関連付けられたcontextmenustripコントロールが1つあります。フォーム自体でcontextmenustripに1つのメニュー項目を手動で作成しました(たとえば、「Assign」という名前)。
ここで、ユーザーがこの[割り当て]アイテムをクリックするたびにサブメニュー項目を追加したいのですが、オプションがオンまたはオフのサブメニュー項目としてユーザー名のリストが作成されます。
たとえば、ユーザーが[割り当て]をクリックしたら、ユーザー名を動的に表示したいとします。
treenodeに関連付けられたcontextmenustripコントロールが1つあります。フォーム自体でcontextmenustripに1つのメニュー項目を手動で作成しました(たとえば、「Assign」という名前)。
ここで、ユーザーがこの[割り当て]アイテムをクリックするたびにサブメニュー項目を追加したいのですが、オプションがオンまたはオフのサブメニュー項目としてユーザー名のリストが作成されます。
たとえば、ユーザーが[割り当て]をクリックしたら、ユーザー名を動的に表示したいとします。
アイテムを追加するには、
myContextMenuStrip.Items.Add("Item title", null, myClickHandler);
サブメニューを追加するには、既存のアイテムを取得して同じことを行います。
(myContextMenuStrip.Items[0] as ToolStripMenuItem).DropDownItems.Add(...)
メニューストリップとアイテムを定義する
ContextMenuStrip menu = new ContextMenuStrip();
ToolStripMenuItem item, submenu;
新しいアイテムを作成します。
submenu = new ToolStripMenuItem();
submenu.Text = "Sub-menu 1";
この時点で、あなたの新しいアイテムは他のアイテムと同じです。次に、いくつかの新しいアイテムを作成し、それらをサブメニューに追加します。
item = new ToolStripMenuItem();
item.Text = "Sub-item 1";
submenu.DropDownItems.Add(item);
item = new ToolStripMenuItem();
item.Text = "Sub-item 2";
submenu.DropDownItems.Add(item);
最後に、メインのContextMenuStripにサブメニューを追加します
menu.Items.Add(submenu);