禁用Windows窗体应用程序中的MenuStrip下拉菜单
问题描述:
我正在禁用Windows窗体菜单栏中的父菜单选项。当您将鼠标悬停在其上时,子菜单仍会打开。有没有办法禁用子菜单打开或我必须禁用所有子菜单项?禁用Windows窗体应用程序中的MenuStrip下拉菜单
答
我最终通过DropDownItems循环并在禁用主项目后禁用它们。
for (int i = 0; i < this._menuOpen.DropDownItems.Count; i++)
{
this.menuOpen.DropDownItems[i].Enabled = false;
}
答
只需将父菜单上的Enable
属性设置为False
即可。在.net 2.0和3.5中,子菜单不会显示。
也请尽量做一个更具体一点。
答
鼠标悬停下的菜单下拉显示似乎不是ToolStripMenuItem
的默认行为,我无法找到属性来启用此功能。
我发现有人谁曾想这一行为this post,你应该检查是否存在对ToolStripMenuItem
一个MouseHover
事件处理程序,并检查Enabled
属性有:
private void toolStripMenuItem1_MouseHover(object sender, EventArgs e)
{
if (toolStripMenuItem1.Enabled)
toolStripMenuItem1.DropDown.Show(menuStrip1, new Point(0, 0));
}
HTH
这是不正确的。它确实显示。第一次点击它时,它不会,但是如果你第二次点击它,它会。 – SchwartzE 2010-11-01 13:35:17
我刚刚在第二台计算机上再次检查,结果是有效的。也许你应该尝试发布更多细节,也许会有截图。 – 2010-11-01 13:43:14