我如何引用 MenuItem?

How can i reference a MenuItem?

我正在将菜单项添加到我的上下文菜单中,如下所示:

mnuContextMenu.MenuItems.Add("Delete", DeleteFile);

现在我想禁用这个 MenuItem,像这样:

x.Enabled = false;

我必须为 x 使用什么 MenuItem 参考?

您没有任何内容可以直接引用它。您可以使用 MenuItems 属性:

的索引器获取它
mnuContextMenu.MenuItems[0].Enabled = false; // if it were the first item

或者您可以在创建时参考:

var deleteMenuItem = new MenuItem("Delete", DeleteFile);
mnuContextMenu.MenuItems.Add(deleteMenuItem);

然后你就有了以后要用的参考:

deleteMenuItem.Enabled = false;

如果您打算在当前函数之外使用它,则可能需要将其存储为 class 的私有数据成员,而不是局部变量。