如何使用C#4.0在contextmenustrip中添加子菜单项?

我有一个与treenode相关的contextmenustrip控件。 我在表单本身中手动创建了一个菜单项(例如,命名为“Assign”)。

现在,我想在用户单击此Assign项时添加子菜单项,它将创建一个用户名列表作为带有选中或未选中选项的子菜单项。

例如,一旦用户单击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);