【发布时间】:2013-01-02 03:14:35
【问题描述】:
我正在构建没有显示任何表单的 winform 应用程序(表单的不透明度为 0,ShowInTaskbar 属性为 false)。它只能从托盘通知图标访问。当用户用鼠标左键单击它时,将显示 contextMenustrip 菜单。因为我想检测鼠标左键单击,所以不能使用 NotifyIcon 的 ContextMenu 属性。
我想,如果用户在菜单外点击时,它应该隐藏。我不知道我该怎么做...
如果我显示了表单,我可以检测到停用表单事件,然后隐藏我的菜单,但在所描述的情况下它看起来更难。
【问题讨论】:
-
@HansPassant 谢谢。我找不到合适的话题。它有效。
-
@HansPassant 谢谢。我找不到合适的话题。有用。根据您的建议,我使用反射在 MouseUp 事件中调用 ShowContextMenu() 方法。我以不同的方式做的是我有两个 ContextMenuStrip 菜单:一个与 NFI 的 ContextMenuProperty 连接,第二个不与 NIF 连接。使用反射调用 ShowContextMenu() 并稍后手动显示未连接的菜单可以解决问题,尽管我没有在 NIF ContextMenu 属性中连接此菜单。你能解释一下原因吗?