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

31
我有一个与treenode相关联的contextmenustrip控件。我在表单中手动创建了一个菜单项(例如命名为"Assign")。
现在我想添加子菜单项,每当用户点击此Assign项时,它将创建一个用户名称列表作为带有选中或未选中选项的子菜单项。
例如,一旦用户点击了Assign,我就想动态显示用户名。
2个回答

55

要添加一个项,您需要调用

myContextMenuStrip.Items.Add("Item title", null, myClickHandler);

要添加子菜单,您需要对现有的项目执行相同的操作:

(myContextMenuStrip.Items[0] as ToolStripMenuItem).DropDownItems.Add(...)

29

定义你的菜单条和菜单项

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

1
谢谢你,Kamarado,这个分解对我帮助很大! - dmoney

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接