我仍在努力获取一个显示计算机上所有输入设备的菜单 - 请原谅我的第三个问题,这可能非常简单。
以下是代码:
List<MenuItem> inputDevice = new List<MenuItem>();
MenuItem myMenuItemInputDevices = new MenuItem("&Input Devices");
sgFileMenu.MenuItems.Add(myMenuItemInputDevice);
for (int i = 0; i < DeviceCount; i++)
{
inputDeviceMenu.Add(new MenuItem(inputName[i]));
myMenuItemInputDevices.MenuItems.Add(inputDeviceMenu[i]);
myMenuItemInputDevices.Click += new System.EventHandler(this.myMenuItemInputDeviceClick);
}
这似乎工作正常,菜单项已添加,一切都很好,但点击下拉列表不起作用。我已经完成了菜单的其他工作,其他代码中的点击工作正常。我试过把
myMenuItemInputDevices.Click += new System.EventHandler(this.myMenuItemInputDeviceClick);
在{}之外的,以防这是正确的方法,但这没有帮助。
我错过了什么?
答案 0 :(得分:2)
你想要这个
List<MenuItem> inputDevice = new List<MenuItem>();
MenuItem myMenuItemInputDevices = new MenuItem("&Input Devices");
sgFileMenu.MenuItems.Add(myMenuItemInputDevice);
for (int i = 0; i < DeviceCount; i++)
{
inputDeviceMenu.Add(new MenuItem(inputName[i]));
inputDeviceMenu[i].Click += new System.EventHandler(this.myMenuItemInputDeviceClick);
myMenuItemInputDevices.MenuItems.Add(inputDeviceMenu[i]);
myMenuItemInputDevices.Click += new System.EventHandler(this.myMenuItemInputDeviceClick);
}
编辑:很明显,您尝试添加的菜单项没有连接任何Click事件方法。
inputDeviceMenu.Add(new MenuItem(inputName[i]));
您只是添加它们。