因此,有很多问题都提出了同样的疑问。
解决方案是设置
notifyIcon.icon = null,并在FormClosing事件中为其调用Dispose

在我的应用程序中,没有这种形式,但是具有通知图标,该图标会在事件上更新。
在创建时,我隐藏了表单并设置ShowInTaskbar属性false。因此,我不能有“FormClosing”或“FormClosed”事件。

如果此应用程序有退出事件,它将调用Process.GetCurrentProcess().Kill();退出。

我在杀死之前添加了notifyIcon.icon = null和Dispose,但是图标仍然保持任务栏,直到我将鼠标悬停在它上面。

编辑:如果我认为此行为是由于调用GetCurrentProcess().Kill()导致的,是否有任何优雅的方法可以退出应用程序,从而清除所有资源并从系统任务栏中删除图标。

最佳答案

您可以设置

notifyIcon1.Visible = false;

要么
notifyIcon.Icon = null;

在表单关闭事件中。

关于c# - 即使关闭应用程序,NotifyIcon仍保留在托盘中,但在鼠标悬停时消失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14723843/

10-09 04:09