博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 程序关闭托盘图标不会自动消失
阅读量:7267 次
发布时间:2019-06-29

本文共 711 字,大约阅读时间需要 2 分钟。

原文:

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

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

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

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

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

4、只能习惯!

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

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

 

最终结论:

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

       private void Window_Closed(object sender, EventArgs e)
        {
            myNotifyIcon.Dispose();
        }

转载地址:http://qufcm.baihongyu.com/

你可能感兴趣的文章
转 Mindoc搭建流程 文档多人编辑工具。
查看>>
嵌入式开发之hi3519---i2c EEPROM
查看>>
解决Sublime Text 2中文显示乱码问题
查看>>
实模式下相关中断调用
查看>>
常见响应状态码
查看>>
php页面输出时,js设置input框的选中值
查看>>
Linux 系统下 matplotlib 中文乱码解决办法
查看>>
Public Prize
查看>>
QuickSort
查看>>
asp.net的sessionState节点详解
查看>>
RedHat6.2搭建FTP服务器
查看>>
Following Orders(拓扑排序)
查看>>
[POJ 3087] Shuffle'm Up
查看>>
TensorFlow深度学习入门笔记(一)写在前面——如何入门深度学习
查看>>
各种手机的SD卡
查看>>
centos7更新、更新、每天更新、每天自动更新
查看>>
8086CPU访问地址为123C8H的内存单元
查看>>
Swift3.0 字典简单使用
查看>>
nginx基础知识总结
查看>>
linux 修改时区
查看>>