关于这个问题有很多问题,所以提出同样的疑问。解决这个问题的方法是设置
notifyIcon.icon = null,并在FormClosing事件中调用Dispose。
在我的应用程序中,没有这样的表单,但是有更新事件的通知图标。在创建时,我隐藏我的表单并使ShowInTaskbar属性false。因此,我不能有"FormClosing“或"FormClosed”事件。
如果此应用程序获得要退出的事件,则调用Process.GetCurrentProcess().Kill();退出。
我已经添加了notifyIcon.icon = null和处理之前,杀死,但仍然图标仍然任务栏,直到我鼠标悬停在它上面。
编辑:如果我假设这种行为是由于调用GetCurrentProcess().Kill(),那么是否有任何优雅的方法可以从应用程序中退出,从而清除所有资源并从系统托盘中删除图标。
发布于 2016-05-25 18:17:48
唯一对我有效的解决方案是使用关闭事件并隐藏和释放图标。
icon.BalloonTipClosed += (sender, e) => {
var thisIcon = (NotifyIcon)sender;
thisIcon.Visible = false;
thisIcon.Dispose();
};发布于 2013-05-24 18:42:41
你要么设置
notifyIcon1.Visible = false;或
notifyIcon.Icon = null;在表单结束事件中。
发布于 2017-11-21 13:28:47
组件必须按照如下正确的顺序处理:
NotifyIcon.Icon.Dispose();
NotifyIcon.Dispose();将其添加到MainWindow关闭事件中。
希望这能帮上忙。
https://stackoverflow.com/questions/14723843
复制相似问题