【问题标题】:C# tray context menu not hiding when message box消息框时C#托盘上下文菜单不隐藏
【发布时间】:2011-02-01 11:24:19
【问题描述】:

在我的应用程序中,我有与应用程序托盘图标相关联的上下文菜单,当用户单击关于菜单项时,它会显示消息框。消息框仍然可见,用户再次右键单击托盘图标,菜单弹出,用户单击上下文菜单以外的其他位置应该消失,但它没有,它仍然显示。

【问题讨论】:

    标签: c# winforms contextmenu trayicon


    【解决方案1】:

    这是一个错误。可能在 Windows 中,TrackPopupMenu 的 MSDN Library 文档记录了一个非常相似的问题。除了避免使用 MessageBox 之外,我没有看到明显的解决方法。创建一个小表格作为您的关于框。使用 Show() 方法显示它。

    【讨论】:

      【解决方案2】:

      您可以使用 SendKeys.Send("{ESC}"); 在用户点击其他地方时的触发事件中。

      【讨论】:

      • 上下文菜单没有失去焦点事件,所以我在鼠标离开事件时添加了它。如果我使用发送键功能,它也会关闭消息框。因此用户无法看到消息框。
      • 是的,这是一个非常糟糕的解决方案,原因有很多。你已经看过其中两个了。
      猜你喜欢
      • 2017-02-28
      • 2018-11-10
      • 1970-01-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多