在MenuStrip上设置菜单项状态

时间:2016-05-26 12:46:34

标签: c# winforms menustrip

在Visual C ++ MFC中,有一个用于设置菜单项状态的内置机制。我试图用C#和WindowsForm对象做同样的事情。

我发现这不完全相同:

Grey out menustrip items when certain forms are open/active/focused

这是我的菜单结构:

Sub menu

所以,我决定试试这个:

private void viewToolStripMenuView_Click(object sender, EventArgs e)
{
    zoomExtentsToolStripMenuItem.Enabled = viewCtrl != null;
}

它有点工作。但我有点挑剔。我可以看到显示启用项目的菜单,然后我看到它变为禁用。

在菜单显示之前设置菜单项状态的正确方法是什么?我知道这听起来像一个简单的问题,但我找不到 ON_UPDATE_COMMAND_UI 的等效方法。

1 个答案:

答案 0 :(得分:1)

我使用了错误的事件处理程序!

private void viewToolStripMenuView_DropDownOpening(object sender, EventArgs e)
{
    zoomExtentsToolStripMenuItem.Enabled = viewCtrl != null;
}