如何添加子菜单项的菜单项

问题描述:

我创建Windows窗体表格布局如图所示,我已经添加了鼠标右键点击菜单我的桌前,如何添加子菜单项的菜单项

我Wnt信号到子菜单项添加到下面的菜单项如

当我点击add device它应该显示子项,如sounderMCPstrobe等 当我点击fault它应该显示子项,如open circuit faultsounder fault,`短路故障”等

这是我创建的菜单项

ContextMenu m = new ContextMenu(); 
    MenuItem addDevice = new MenuItem("Add Device"); 
    MenuItem deleteDevice = new MenuItem("delete Device"); 
    MenuItem fire = new MenuItem("Fire"); 
    MenuItem fault = new MenuItem("Fault"); 
    MenuItem suppress = new MenuItem("Suppress"); 
    m.MenuItems.AddRange(new MenuItem[] { addDevice, deleteDevice, fire, fault,suppress}); 
    tableLayout.ContextMenu = m; 
    m.Show((Control)(sender), e.Location); 

下面是我的表格和表格布局

http://i48.tinypic.com/33ok3cw.jpg http://i48.tinypic.com/33ok3cw.jpg

您可以添加MenuItems现有MenuItem,如:

MenuItem addDevice = new MenuItem("Add Device"); 
addDevice.MenuItems.Add(new MenuItem("Add More ..")); 

会如下所示:

enter image description here

+3

@Downvoter,照顾评论? – Habib 2013-04-22 12:22:19

+1

如何将点击事件添加到这些子菜单项? – 2013-04-23 04:59:17

+2

@ hs.chandra,您可以通过[重载构造函数](http://msdn.microsoft.com/zh-cn/library/c524thtw.aspx)添加事件。 – Habib 2013-04-23 05:07:55

您可以添加此

var someMenu= new MenuItem("Foo"); 
someMenu.MenuItems.Add(new MenuItem("foo ")); 

format不为我工作。我*使用:

// People often exclude the applicable "using" statements--so samples don't work! 
using System.Web.UI.WebControls; 

// Create the MAIN menu item 
MenuItem mnuMenuItem = new MenuItem();   

// Create the SUB menu item 
MenuItem mnuSubMenuItem = new MenuItem();  

// Create the SUB menu item, "under" the MAIN menu item! 
mnuMenuItem.ChildItems.Add(mnuSubMenuItem); 

MenuItem newMenuItem1 = new MenuItem("Employee Master"); 
      MenuItem mnuSubMenuItem = new MenuItem(); 
      newMenuItem1.ChildItems.Add(mnuSubMenuItem); 
      mnuSubMenuItem.Text = "Add User..."; 
      mnuSubMenuItem.NavigateUrl = "ADDURL.aspx"; 

      MenuItem mnuSubMenuItem1 = new MenuItem(); 
      newMenuItem1.ChildItems.Add(mnuSubMenuItem1); 
      mnuSubMenuItem1.Text = "Edit User..."; 
      mnuSubMenuItem1.NavigateUrl = "EDITURL.aspx"; 
      this.MenuMaster.Items.Add(newMenuItem1);