我的表单上有一个ContextMenu,默认情况下应禁用某些选项,但是当用户右键单击Panel时启用。
我写这个的方式,允许这个特定菜单项的Panel有两个事件处理程序:
MouseEnter有效,但遗憾的是,只要用户右键单击,就会调用MouseLeave。这意味着无论用户右键单击何处,菜单项始终处于禁用状态。
任何想法如何解决这个问题?
答案 0 :(得分:3)
这是不可避免的。弹出上下文菜单后,菜单将捕获鼠标并触发面板的MouseLeave事件。你将不得不以不同的方式做到这一点。我想不出一个不错的选择,对你来说,你这样做是没有任何意义的。 Panel有自己的ContextMenuStrip属性,也许这是一个领先者。或者ContextMenuStrip.SourceControl属性。