因此,有很多问题都提出了同样的疑问。解决方案是设置
notifyIcon.icon = null
并Dispose
在FormClosing事件中调用它。
在我的应用程序中,没有这种形式,但是具有通知图标,该图标会在事件上更新。在创建时,我将隐藏表单并进行ShowInTaskbar
属性设置false
。因此,我不能有“ FormClosing”或“ FormClosed”事件。
如果此应用程序获得退出事件,它将调用Process.GetCurrentProcess().Kill();
退出。
notifyIcon.icon = null
在杀死之前,我已经添加了“处置”功能,但图标仍然保留在任务栏上,直到我将鼠标悬停在它上面。
编辑:如果我认为此行为是由于调用引起的GetCurrentProcess().Kill()
,是否有任何优雅的方法可以退出应用程序,从而清除所有资源并从系统托盘中删除图标。