首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NotifyIcon在申请关闭后仍留在Tray,但在鼠标Hover上消失。

NotifyIcon在申请关闭后仍留在Tray,但在鼠标Hover上消失。
EN

Stack Overflow用户
提问于 2013-02-06 07:36:07
回答 15查看 62.3K关注 0票数 89

关于这个问题有很多问题,所以提出同样的疑问。解决这个问题的方法是设置

notifyIcon.icon = null,并在FormClosing事件中调用Dispose

在我的应用程序中,没有这样的表单,但是有更新事件的通知图标。在创建时,我隐藏我的表单并使ShowInTaskbar属性false。因此,我不能有"FormClosing“或"FormClosed”事件。

如果此应用程序获得要退出的事件,则调用Process.GetCurrentProcess().Kill();退出。

我已经添加了notifyIcon.icon = null和处理之前,杀死,但仍然图标仍然任务栏,直到我鼠标悬停在它上面。

编辑:如果我假设这种行为是由于调用GetCurrentProcess().Kill(),那么是否有任何优雅的方法可以从应用程序中退出,从而清除所有资源并从系统托盘中删除图标。

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2016-05-25 18:17:48

唯一对我有效的解决方案是使用关闭事件并隐藏和释放图标。

代码语言:javascript
复制
icon.BalloonTipClosed += (sender, e) => { 
                                            var thisIcon = (NotifyIcon)sender;
                                            thisIcon.Visible = false;
                                            thisIcon.Dispose(); 
                                        };
票数 21
EN

Stack Overflow用户

发布于 2013-05-24 18:42:41

你要么设置

代码语言:javascript
复制
notifyIcon1.Visible = false;

代码语言:javascript
复制
notifyIcon.Icon = null;

在表单结束事件中。

票数 54
EN

Stack Overflow用户

发布于 2017-11-21 13:28:47

组件必须按照如下正确的顺序处理:

代码语言:javascript
复制
NotifyIcon.Icon.Dispose();

NotifyIcon.Dispose();

将其添加到MainWindow关闭事件中。

希望这能帮上忙。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14723843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档