Winforms 在Windows窗体应用程序中禁用MenuStrip下拉列表

Winforms 在Windows窗体应用程序中禁用MenuStrip下拉列表,winforms,menustrip,Winforms,Menustrip,我正在禁用Windows窗体菜单中的父菜单选项。当您将鼠标悬停在其上时,子菜单仍将打开。有没有办法禁用打开子菜单,或者我必须禁用所有子菜单项?只需将父菜单上的Enable属性设置为False。在.net 2.0和3.5中,子菜单将不显示 另外,请尝试更具体一点。只需将父菜单上的启用属性设置为False。在.net 2.0和3.5中,子菜单将不显示 另外,请尝试更具体一点。在鼠标悬停时显示菜单下拉列表似乎不是ToolStripMenuItem的默认行为,我找不到启用此功能的属性 我确实找到了想要这

我正在禁用Windows窗体菜单中的父菜单选项。当您将鼠标悬停在其上时,子菜单仍将打开。有没有办法禁用打开子菜单,或者我必须禁用所有子菜单项?

只需将父菜单上的
Enable
属性设置为
False
。在.net 2.0和3.5中,子菜单将不显示


另外,请尝试更具体一点。

只需将父菜单上的
启用属性设置为
False
。在.net 2.0和3.5中,子菜单将不显示


另外,请尝试更具体一点。

在鼠标悬停时显示菜单下拉列表似乎不是
ToolStripMenuItem的默认行为,我找不到启用此功能的属性

我确实找到了想要这种行为的人,您应该检查
ToolStripMenuItem
是否有
MouseHover
事件处理程序,并检查那里的
Enabled
属性:

private void toolStripMenuItem1_MouseHover(object sender, EventArgs e)
{
    if (toolStripMenuItem1.Enabled)
        toolStripMenuItem1.DropDown.Show(menuStrip1, new Point(0, 0));
}

HTH

在鼠标悬停时显示菜单下拉列表似乎不是
ToolStripMenuItem
的默认行为,我找不到启用此功能的属性

我确实找到了想要这种行为的人,您应该检查
ToolStripMenuItem
是否有
MouseHover
事件处理程序,并检查那里的
Enabled
属性:

private void toolStripMenuItem1_MouseHover(object sender, EventArgs e)
{
    if (toolStripMenuItem1.Enabled)
        toolStripMenuItem1.DropDown.Show(menuStrip1, new Point(0, 0));
}

HTH

在禁用主项后,我循环了DropDownItems并禁用了它们

for (int i = 0; i < this._menuOpen.DropDownItems.Count; i++)
{
    this.menuOpen.DropDownItems[i].Enabled = false;
}
for(int i=0;i
在禁用主项后,我循环遍历下拉项并禁用它们

for (int i = 0; i < this._menuOpen.DropDownItems.Count; i++)
{
    this.menuOpen.DropDownItems[i].Enabled = false;
}
for(int i=0;i
这不是真的。它确实表明了这一点。你第一次点击它时,它不会,但如果你第二次点击它,它会。我刚刚在第二台计算机上再次检查,我的结果是有效的。也许你应该试着发布更多的细节,也许是一个截图。这不是真的。它确实表明了这一点。你第一次点击它时,它不会,但如果你第二次点击它,它会。我刚刚在第二台计算机上再次检查,我的结果是有效的。也许你应该试着发布更多的细节,或者截图。