【问题标题】:Why when i close my application from the icon tray sometimes the icon is left on even after the application is closed?为什么当我从图标托盘关闭我的应用程序时,有时即使在应用程序关闭后图标仍保持打开状态?
【发布时间】:2013-12-09 03:45:54
【问题描述】:

我有这个代码:

private void Form1_Resize(object sender, EventArgs e)
        {
            if (FormWindowState.Minimized == WindowState)
                Hide();
        }

        private void CloseApplication_Click(object sender, EventArgs e)
        {
            this.Close();
        }

然后我调整隐藏表单的大小或不调整它的大小我用鼠标右键单击托盘图标然后选择关闭应用程序表单关闭应用程序关闭。

但有时应用程序的图标会停留在托盘图标中,只有当我将鼠标光标移到图标上时,他才会消失。 如何确保当我关闭我的应用程序时,托盘图标中的图标会移动/消失?

【问题讨论】:

  • 我已经看到系统托盘中的许多不同应用程序都会发生这种情况。我不认为这是您的代码的错误 - 我认为这是 Explorer.exe 中的错误。见forums.devx.com/showthread.php?37092-How-to-refresh-system-tray
  • 在调用Close()之前尝试将this.ShowInTaskbar设置为false
  • 我的许多应用程序(甚至是 Microsoft 的一些应用程序)也看到了这种情况。
  • 您忘记调用 NotifyIcon.Dispose() 方法。最好避免将其放在表单上,​​这样它是自动的。

标签: c# winforms


【解决方案1】:

你可以设置

notifyIcon1.Visible = false;

notifyIcon.Icon = null;

在表单关闭事件中。

(来自NotifyIcon remains in Tray even after application closing but disappears on Mouse Hover

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题。对我来说,设置

    notifyIcon.Visible = false;
    

    工作正常,通知图标立即从系统托盘中消失。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      • 2013-02-18
      • 2023-04-11
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多