Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将子菜单项添加到菜单项_C#_Winforms_Contextmenu_Tablelayout_Menu Items - Fatal编程技术网

C# 如何将子菜单项添加到菜单项

C# 如何将子菜单项添加到菜单项,c#,winforms,contextmenu,tablelayout,menu-items,C#,Winforms,Contextmenu,Tablelayout,Menu Items,我在windows窗体中创建了一个表格布局,如图所示,我在表格中添加了一个鼠标右键单击菜单 我无法将子菜单项添加到以下菜单项,例如 当我单击添加设备时,它应该显示子项,例如发声器,MCP,选通开关等 当我单击故障时,它应显示子项,如断路故障,发声器故障,“短路故障”等 这就是我创建菜单项的方式 ContextMenu m = new ContextMenu(); MenuItem addDevice = new MenuItem("Add Device"); MenuIt

我在windows窗体中创建了一个表格布局,如图所示,我在表格中添加了一个鼠标右键单击菜单

我无法将子菜单项添加到以下菜单项,例如

当我单击添加设备时,它应该显示子项,例如
发声器
MCP
选通开关
等 当我单击
故障
时,它应显示子项,如
断路故障
发声器故障
,“短路故障”等

这就是我创建菜单项的方式

    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);
下面是我的表格和表格布局


您可以向现有的
菜单项添加
菜单项
,如:

MenuItem addDevice = new MenuItem("Add Device");
addDevice.MenuItems.Add( new MenuItem("Add More .."));
它将是可见的,如:

您可以添加此

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

这种格式不适合我。我被迫使用:

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

如何将单击事件添加到这些子菜单项?@hs.chandra,您可以通过添加事件。
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);