禁用 Windows 窗体应用程序中的 MenuStrip 下拉菜单

发布于 2024-09-29 19:17:48 字数 83 浏览 8 评论 0原文

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

I am disabling the parent menu option in a Windows forms menustrip. When you hover over it, the submenu still opens. Is there a way to disable the submenu opening or do I have to disable all the submenu items?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

何以心动 2024-10-06 19:17:48

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

我确实找到了这篇文章由想要此行为的人创建,您应该检查 ToolStripMenuItem 是否有 MouseHover 事件处理程序,并检查其中的 Enabled 属性:

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

HTH

Having the menu drop down show on mouse hover does not seem to be the default behavior of a ToolStripMenuItem and I could not find a property to enable this.

I did find this post by someone who wanted this behavior, and you should check to see if there is a MouseHover event handler for the ToolStripMenuItem and check the Enabled property there:

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

HTH

却一份温柔 2024-10-06 19:17:48

我最终循环遍历 DropDownItems 并在禁用主项目后禁用它们。

for (int i = 0; i < this._menuOpen.DropDownItems.Count; i++)
{
    this.menuOpen.DropDownItems[i].Enabled = false;
}

I ended up looping through the DropDownItems and disabling them after I disable the main item.

for (int i = 0; i < this._menuOpen.DropDownItems.Count; i++)
{
    this.menuOpen.DropDownItems[i].Enabled = false;
}
爱已欠费 2024-10-06 19:17:48

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

另外请尝试更具体一点。

Just set the Enableproperty on the parent menu to False. In .net 2.0 and 3.5 the submenu will not show.

Also please try to be a little more specific.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文