在 MenuStrip 上设置菜单项状态
Setting menu item state on a MenuStrip
在 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.
等效的方法
我使用了错误的事件处理程序!
private void viewToolStripMenuView_DropDownOpening(object sender, EventArgs e)
{
zoomExtentsToolStripMenuItem.Enabled = viewCtrl != null;
}
在 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.
等效的方法我使用了错误的事件处理程序!
private void viewToolStripMenuView_DropDownOpening(object sender, EventArgs e)
{
zoomExtentsToolStripMenuItem.Enabled = viewCtrl != null;
}