【问题标题】:ToolTip still visible even if form is minimized or in background即使表单最小化或在后台,工具提示仍然可见
【发布时间】:2013-12-18 13:41:18
【问题描述】:

在 WinForms 表单中,如果某个操作已完成,我会显示一个工具提示。我是这样展示的:

this.myToolTip.Show(message, this, location, duration);

现在的问题是,即使表单将被最小化或另一个表单(不同的应用程序)变为活动状态,工具提示仍然可见。这个问题有解决办法吗?

【问题讨论】:

  • 是每次都发生,还是不经常发生?
  • 永远!除工具提示外,该窗口已最小化。因此,如果打开了多个应用程序,则工具提示在另一个应用程序上可见。
  • 没有希望从一行代码中猜到这一点。需要适当的 SSCCE 才能获得帮助。
  • SSCCE(对我来说是一个新的 wtfword)确实不错 =D

标签: c# tooltip foreground


【解决方案1】:

当表单失去焦点(停用)时,您可以尝试.Hide 工具提示。像这样:

    private void Form1_Deactivate(object sender, EventArgs e)
    {
        this.myToolTip.Hide(myTargetControl);
    }

【讨论】:

    【解决方案2】:

    如果您手动显示Tooltip,那么您也必须手动隐藏它。唯一的问题是您通过哪个事件显示它(因为也许您想重新显示它)。通常,所有事件工具提示都会显示为托盘图标,为此有一个专用组件 - NotifyIcon,它带有工具提示。

    否则,您更有可能在鼠标悬停时显示工具提示(OnMouseEnter,或者更好的OnMouseHover),然后将其隐藏在OnMouseLeave 中。

    【讨论】:

      猜你喜欢
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多