如何在替代单击c#上打开和关闭工具条菜单下拉菜单

Posted

技术标签:

【中文标题】如何在替代单击c#上打开和关闭工具条菜单下拉菜单【英文标题】:How to open and close tool strip menu drop down on alternative click c# 【发布时间】:2019-09-06 12:45:56 【问题描述】:

这是一个菜单项View,它只能在点击时打开,下拉菜单的关闭也只能在点击工具条菜单时发生。

【问题讨论】:

您的回答与所问的问题不符。 【参考方案1】:

除了 DropDownOpened 事件之外,没有其他方法可以检查下拉菜单是否打开。这将有助于切换 Drop down 的打开和关闭。而且我们没有任何方法可以手动打开工具条菜单的下拉菜单,这肯定是自动化修复的。

所以为了轻松实现,我们可以使用一个bool变量作为Drop Down打开条件的引用,点击事件就可以有主逻辑了。

在初始化代码期间,我们必须注意两件事

_isViewMenuDropDownOpened = false;
tsmi_ViewMenu.DropDown.AutoClose = false;

然后在 Click 事件中我们可以有类似的东西

private void tsmi_ViewMenu_Click(object sender, EventArgs e)

  if (_isViewMenuDropDownOpened)
     
       tsmi_ViewMenu.DropDown.Close();
       tsmi_ViewMenu.Text = "View ▲";
       _isViewMenuDropDownOpened = false;
     
     else
     
         tsmi_ViewMenu.Text = "View ▼";
         _isViewMenuDropDownOpened = true;
     

这样就可以了

打开

关闭

【讨论】:

那是“快” ;) @CaiusJard OP 添加了一个带有答案的问题,恐怕它并不“快”。 哦,我知道了……那是在脸颊上略带舌头;显然,大量的准备工作已经进入了问题和答案,然后在同一分钟内粘贴了 q/post/answer/paste/post 。虽然我有点不知道为什么;玩系统?我之前回答过我自己的问题,但只是在问了好几天之后才回答...... @CaiusJard 我认为有一个选项可以同时发布问题和答案 堆栈百科全书?维基溢出? :)

以上是关于如何在替代单击c#上打开和关闭工具条菜单下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章

当用户在菜单外单击时,如何关闭 Bootstrap 导航栏下拉菜单?

如何让下拉菜单在点击时打开/关闭而不是悬停?

在鼠标悬停上打开菜单,在mouseleave上关闭菜单进行反应

如何在按钮单击时切换下拉菜单并在外部单击时关闭?

在内部单击时保持 Bootstrap 下拉菜单打开

单击关闭时保持 Bootstrap 下拉菜单打开