C#清除已关闭应用程序的托盘图标

时间:2017-10-16 05:01:51

标签: c# taskbar trayicon

我使用System.Windows.Forms.NotifyIcon

创建托盘图标

但是,申请结束后。图标继续延续,直到我手动将鼠标悬停在它上面。

如何在运行新实例时阻止它延迟或清除所有旧的?

1 个答案:

答案 0 :(得分:5)

我没有重现您的问题,而且我正在运行Windows 10 Creators Update。

但我发现您关闭申请时可以Dispose NotifyIconDispose可以将您的图标移出任务栏的托盘区域。

我猜您可能意外退出了您的程序,这将导致您的问题。您应该检查是否调用System.Exit()或其他不安全的退出方法。

您可以看到以下代码,了解如何调用Dispose

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    protected override void OnClosed(EventArgs e)
    {
        base.OnClosed(e);
        // Call Dispose to remove the icon out of notification area of Taskbar.
        notifyIcon1.Dispose();
    }
}