c# MouseLeave在显示上下文菜单之前触发
本文关键字:菜单 上下文 MouseLeave 显示 | 更新日期: 2023-09-27 17:49:33
我的窗体上有一个ContextMenu,默认情况下,一些选项应该是禁用的,但当用户右键单击面板时,这些选项是启用的。
我写这个的方式,面板允许这个特定的菜单项有两个事件处理程序:
- MouseEnter ->启用 选项
- MouseLeave ->禁用 选项
MouseEnter可以工作,但不幸的是,一旦用户右键单击,就会调用MouseLeave。这意味着无论用户在哪里右键单击,菜单项总是被禁用的。
有什么办法解决这个问题吗?
这是必然的。上下文菜单一弹出,鼠标就被菜单捕获,面板的mouselleave事件就会触发。你必须用不同的方式来做这件事。我想不出一个合适的选择,你这样做对我来说没有任何意义。Panel有它自己的ContextMenuStrip属性,也许这是个线索。或者ContextMenuStrip。SourceControl财产。