我创建了我的托盘图标System.Windows.Forms.NotifyIcon
C#清除关闭应用程序的托盘图标
但是,应用程序关闭后。该图标继续留存,直到我手动将鼠标移到该图标上。
当新实例运行时,如何防止延迟或清除所有旧的?
我创建了我的托盘图标System.Windows.Forms.NotifyIcon
C#清除关闭应用程序的托盘图标
但是,应用程序关闭后。该图标继续留存,直到我手动将鼠标移到该图标上。
当新实例运行时,如何防止延迟或清除所有旧的?
我没有重现您的问题,我正在运行Windows 10创作者更新。
但是我发现,当您关闭应用程序时,您可以Dispose
NotifyIcon
。 Dispose
可以将您的图标移出任务栏的托盘区域。
我想你可能已经意外退出了你的程序,那会导致你的问题。您应该检查是否调用了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();
}
}
出现这种情况,如果你当应用程序被关闭,不处理你的任务栏图标。另一种情况是您的应用程序崩溃。但是在这种情况下,所有其他使用托盘图标的应用程序也会发生,无论它们是否使用C#,C++或任何其他可生成Windows应用程序的语言编写。 – Oliver