0

我仍在努力获得一个菜单以在计算机上显示所有输入设备——请原谅我的第三个问题,这可能很简单。

这是代码:

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

在 {} 之外,以防万一这是正确的做法,但这并没有帮助。

我错过了什么?

4

1 回答 1

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

你只是添加它们。

于 2013-09-04T19:52:17.977 回答