在Visual C ++ MFC中,有一个用于设置菜单项状态的内置机制。我试图用C#和WindowsForm对象做同样的事情。
我发现这不完全相同:
Grey out menustrip items when certain forms are open/active/focused
这是我的菜单结构:
所以,我决定试试这个:
private void viewToolStripMenuView_Click(object sender, EventArgs e)
{
zoomExtentsToolStripMenuItem.Enabled = viewCtrl != null;
}
它有点工作。但我有点挑剔。我可以看到显示启用项目的菜单,然后我看到它变为禁用。
在菜单显示之前设置菜单项状态的正确方法是什么?我知道这听起来像一个简单的问题,但我找不到 ON_UPDATE_COMMAND_UI 的等效方法。
答案 0 :(得分:1)
我使用了错误的事件处理程序!
private void viewToolStripMenuView_DropDownOpening(object sender, EventArgs e)
{
zoomExtentsToolStripMenuItem.Enabled = viewCtrl != null;
}