将子菜单添加到contextmenu strip的特定菜单项中

时间:2012-12-06 08:25:42

标签: c# .net contextmenu

我有一个contextmenu条带,其中将根据特定条件填充菜单项。

例如:

表示条件1:

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

条件2:

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

对于condition1向ItemStatus添加子菜单,我使用

(myContextMenuStrip.Items[1] as ToolStripMenuItem).DropDownItems.Add("Submenu1", null, new EventHandler(gridcontextsubMenu_ItemClicked));
(myContextMenuStrip.Items[1] as ToolStripMenuItem).DropDownItems.Add("Submenu2", null, new EventHandler(gridcontextsubMenu_ItemClicked));

对于condition2将子菜单添加到ItemStatus,我使用

(myContextMenuStrip.Items[0] as ToolStripMenuItem).DropDownItems.Add("Submenu1", null, new EventHandler(gridcontextsubMenu_ItemClicked));
(myContextMenuStrip.Items[0] as ToolStripMenuItem).DropDownItems.Add("Submenu2", null, new EventHandler(gridcontextsubMenu_ItemClicked));

但是我需要一种将子菜单添加到菜单项ItemStatus的一般方法。

请分享答案

1 个答案:

答案 0 :(得分:2)

Items的{​​{1}}属性返回ContextMenuStrip,允许您将索引器与索引号或名称一起使用。因此,您可以使用ToolStripItemCollection的项目名称。例如:

Items