29

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

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

例如,一旦用户单击“分配”,我就想动态显示用户名。

4

2 回答 2

53

To add an item, you would call

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

To add a sub-menu, you take an existing item and do the same to it:

(myContextMenuStrip.Items[0] as ToolStripMenuItem).DropDownItems.Add(...)
于 2011-05-03T13:37:28.783 回答
23

定义您的菜单条和项目

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);
于 2014-04-22T09:19:18.073 回答