2012-12-06 56 views
1

我有一个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); 

对于条件1要添加到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的一般方法。

请分享答案

回答

2

Items属性为ContextMenuStrip回报ToolStripItemCollection它允许您使用索引与任何索引编号或名称。所以,您可以使用Items的项目名称。例如:

(myContextMenuStrip.Items["Item Status"] as ToolStripMenuItem).DropDownItems.Add("Submenu1", null, new EventHandler(gridcontexsubMenu_ItemClicked)); 
+1

谢谢迈克。现在试试这个。希望能得到积极的结果 –

+0

它的工作Mike.Thanks非常多 –

+0

不客气。 –

相关问题