2013-04-22 26 views
9

ho creato un layout di tabella in forme finestre come mostrato in figura, ho aggiunto un tasto destro del mouse menu al mio tavolo,Come aggiungere voci di sottomenu per MenuItems

i Wnt per aggiungere voci di sottomenu a seguito menuitems come ad esempio

Quando clicco add device dovrebbe mostrare elementi secondari quali sounder, MCP, strobe ecc Quando clicco fault dovrebbe mostrare elementi secondari quali open circuit fault, sounder fault, `colpa corto circuito' così via

012.

Ecco come ho creato menuitems

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

il sotto è la mia forma e la disposizione della tabella

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

risposta

19

È possibile aggiungere MenuItems agli attuali MenuItem come:

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

Sarebbe essere visibile come:

enter image description here

+3

@Downvoter, cura di commento? – Habib

+1

Come aggiungere eventi di clic a questi elementi di sottomenu? –

+2

@ hs.chandra, è possibile aggiungere eventi tramite [costruttore sovraccarico] (http://msdn.microsoft.com/en-us/library/c524thtw.aspx). – Habib

0

È possibile aggiungere questo

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

che il formato non funziona per me. Sono costretto a utilizzare:

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