c#程序关闭托盘图标不会自动消失,进程的托盘图标却不能随着进程的结束而自动消失  必须将鼠标移到图标上面时才能消失?  请问如何才能做到图标随着进程的结束而自动消失呢(外部强行结束,如在任务管理器将其结束), windows系统好多程序都会这样。

网上搜索后大家说法不一,如下:

1、这个就这样,很多程序都有这个问题,大家都习惯了

2、似乎没法解决。。任务管理器是强制关闭的,程序认为是异常结束,所以没有执行小图标关闭的操作,当你鼠标移上去的时候,系统找不到进程(因为已关闭),所以就消失了。

3、任务管理器是强制关闭的,程序认为是异常结束,所以没有执行小图标关闭的操作,当你鼠标移上去的时候,系统找不到进程(因为已关闭),所以就消失了。

4、只能习惯!

5、退出时让 托盘 控件不可见..再退出.

6、应用程序操作托盘图标是通过windows的委托来处理的,也就是应用程序对系统说“我要添加一个图标”,于是任务栏就多了个图标,程序退出时对系统说“把我的图标删除了”,任务栏才会消除图标。。。直接砍掉一个进程,那个程序异常退出,还未来得及说“把我的图标删除了”,所以任务栏图标不会立刻消失。。

最终结论:

呵呵,这个问题刚开始也困拢了我半天,上网找了很多贴子都没有解决的方法,后来我自己试了一个它的方法,结果一测试完全好用:在程序的closed事件处理程序中调用NotifyIcon控件的Dispose()方法,这样程序退出后托盘上的图标立刻就消失了。
       private void Window_Closed(object sender, EventArgs e)
        {
            myNotifyIcon.Dispose();
        }

C# 程序关闭托盘图标不会自动消失的更多相关文章

  1. [Winform]在关闭程序后,托盘不会消失的问题

    摘要 在开发winform程序时,添加了系统托盘,然发现在程序关闭后,托盘并不会消失,鼠标放在上面之后,才会消失.猜测是资源没有释放干净引起的.托盘作为form的组件,应该会随着form的关闭而释放啊 ...

  2. 是什么在.NET程序关闭时阻碍进程的退出?

    在平时使用软件或是.NET程序开发的过程中,我们有时会遇到程序关闭后但进程却没有退出的情况,这往往预示着代码中有问题存在,不能正确的在程序退出时停止代码执行和销毁资源.这个现象有时并不容易被察觉,但在 ...

  3. js弹框3秒后自动消失

    开发中有时候会需要最出弹框后,过几秒自动消失的效果,下面给大家分享一下我自己做的一个小案例. 案例中的弹框使用的是bootstrap里面的模态框,实现自动消失则用的是js中的setInterval方法 ...

  4. Ambari部署HDP:HBase Master启动后自动消失

    这是第一次出勤部署产品.遇到不可控问题,解决,写个心得.记录一下吧^^ 在排查问题的过程中,学到不少知识. (1)centos系统盘和数据盘分开,装操作系统的人没有将IT的空间分配出来,所以分区,自动 ...

  5. Android中ProgressDialog自动消失

    主要函数部分代码: final ProgressDialog proDialog = android.app.ProgressDialog .show(MainActivity.this, " ...

  6. iOS 疑难杂症— — 收到推送显示后自动消失的问题

    声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 问题 正在支持 Remote Noti ...

  7. qt 单文档程序关闭时在delete ui处出现segmentation fault

    做了个显示图片的单文档程序. qt 单文档程序关闭时在delete ui处出现segmentation fault. 调试发现调用两次mainwindow析构函数. http://blog.csdn. ...

  8. 怎样关闭WIN7系统的自动更新

    百度经验 > 游戏/数码 > 电脑 > 电脑软件 怎样关闭WIN7系统的自动更新 听语音 | 浏览:108460 | 更新:2012-07-24 18:03 | 标签:win7 1 ...

  9. popupwindow点击空白处如何自动消失?

    Popupwindow如果需要点击空白处自动消失,需要设置两个函数 1.customPopWindow.setFocusable(true);该函数也可以在构造函数中设置,如:mPopupWindow ...

随机推荐

  1. Mybatis批量插入及传参问题

    先看需求:将报文对象Message批量插入分库分表的Oracle数据库中 一般如果直接传入List的话,需要加上parameterType="java.util.List" ,然后 ...

  2. Yii 读写分离 分表分库

    本文转自  http://hudeyong926.iteye.com/blog/1299989 实现一主一从,一主多从,多主多从的读写分离 .支持DAO,AR,其中Query builder只完成部分 ...

  3. docker-3-常用命令(下)

    importance 1.启动守护式容器 docker run -d 容器名   使用镜像centos:latest以后台模式启动一个容器 docker run -d centos   问题:然后do ...

  4. Google Map中的瓦片

    一.墨卡托投影google map使用的是EPSG:900913标准墨卡托投影(等角圆术地图投影)y = R*ln(tan(pi/4 + a/2))x = R*b当y等于piR时,投影图正好为一个正方 ...

  5. supervisord的安装

    作用: 用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制. 安装流程 ...

  6. 【题解】洛谷P2827 [NOIP2016TG] 蚯蚓(优先队列)

    题目来源:洛谷P2827 思路 阅读理解题 一开始以为是裸的优先队列而已 但是发现维护一个切开并且其他的要分别加上一个值很不方便 而且如果直接用优先队列会TLE3到4个点 自测85分 所以我们需要发现 ...

  7. Many-to-many relationships in EF Core 2.0 – Part 3: Hiding as ICollection

    In the previous post we ended up with entities that hide the join entity from the public surface. Ho ...

  8. EF Core如何输出日志到Visual Studio的输出窗口

    我们在使用EF Core的时候,很多时候需要在Visual Studio的输出窗口中知道EF Core在后台生成的SQL语句是什么,这个需求可以通过自定义EF Core的ILoggerFactory和 ...

  9. react系列(二)高阶组件-HOC

    高阶组件 简单来说,高阶组件可以看做一个函数,且该函数接受一个组件作为参数,并返回一个新的组件. 我在之前的博客<闭包和类>中提到一个观点,面向对象的好处就在于,易于理解,方便维护和复用. ...

  10. MongoTemplate复合条件查询

    分. 排序.按时间查询 Query query = new Query();        //必须条件        Criteria c = Criteria.where("VINID& ...