我在Windows窗体menustrip中禁用父菜单选项。将鼠标悬停在其上时,子菜单仍会打开。有没有办法禁用子菜单打开或我是否必须禁用所有子菜单项?
答案 0 :(得分:1)
鼠标悬停时显示菜单下拉列表似乎不是ToolStripMenuItem
的默认行为,我找不到启用此功能的属性。
我确实想找到此行为的人找到this post,您应该检查MouseHover
是否有ToolStripMenuItem
事件处理程序并检查Enabled
那里的财产:
private void toolStripMenuItem1_MouseHover(object sender, EventArgs e)
{
if (toolStripMenuItem1.Enabled)
toolStripMenuItem1.DropDown.Show(menuStrip1, new Point(0, 0));
}
HTH
答案 1 :(得分:0)
只需将父菜单上的Enable
属性设置为False
即可。在.net 2.0和3.5中,子菜单不会显示。
另外请尝试更具体一点。
答案 2 :(得分:0)
我最终循环遍历DropDownItems并在禁用主项后禁用它们。
for (int i = 0; i < this._menuOpen.DropDownItems.Count; i++)
{
this.menuOpen.DropDownItems[i].Enabled = false;
}