C# 程序关闭托盘图标不会自动消失
2017-11-25 14:25
986 查看
c#程序关闭托盘图标不会自动消失,进程的托盘图标却不能随着进程的结束而自动消失 必须将鼠标移到图标上面时才能消失? 请问如何才能做到图标随着进程的结束而自动消失呢(外部强行结束,如在任务管理器将其结束), windows系统好多程序都会这样。
网上搜索后大家说法不一,如下:
1、这个就这样,很多程序都有这个问题,大家都习惯了
2、似乎没法解决。。任务管理器是强制关闭的,程序认为是异常结束,所以没有执行小图标关闭的操作,当你鼠标移上去的时候,系统找不到进程(因为已关闭),所以就消失了。
3、任务管理器是强制关闭的,程序认为是异常结束,所以没有执行小图标关闭的操作,当你鼠标移上去的时候,系统找不到进程(因为已关闭),所以就消失了。
4、只能习惯!
5、退出时让 托盘 控件不可见..再退出.
6、应用程序操作托盘图标是通过windows的委托来处理的,也就是应用程序对系统说“我要添加一个图标”,于是任务栏就多了个图标,程序退出时对系统说“把我的图标删除了”,任务栏才会消除图标。。。直接砍掉一个进程,那个程序异常退出,还未来得及说“把我的图标删除了”,所以任务栏图标不会立刻消失。。
最终结论:
呵呵,这个问题刚开始也困拢了我半天,上网找了很多贴子都没有解决的方法,后来我自己试了一个它的方法,结果一测试完全好用:在程序的closed事件处理程序中调用NotifyIcon控件的Dispose()方法,这样程序退出后托盘上的图标立刻就消失了。
private void Window_Closed(object sender, EventArgs e)
{
myNotifyIcon.Dispose();
}
网上搜索后大家说法不一,如下:
1、这个就这样,很多程序都有这个问题,大家都习惯了
2、似乎没法解决。。任务管理器是强制关闭的,程序认为是异常结束,所以没有执行小图标关闭的操作,当你鼠标移上去的时候,系统找不到进程(因为已关闭),所以就消失了。
3、任务管理器是强制关闭的,程序认为是异常结束,所以没有执行小图标关闭的操作,当你鼠标移上去的时候,系统找不到进程(因为已关闭),所以就消失了。
4、只能习惯!
5、退出时让 托盘 控件不可见..再退出.
6、应用程序操作托盘图标是通过windows的委托来处理的,也就是应用程序对系统说“我要添加一个图标”,于是任务栏就多了个图标,程序退出时对系统说“把我的图标删除了”,任务栏才会消除图标。。。直接砍掉一个进程,那个程序异常退出,还未来得及说“把我的图标删除了”,所以任务栏图标不会立刻消失。。
最终结论:
呵呵,这个问题刚开始也困拢了我半天,上网找了很多贴子都没有解决的方法,后来我自己试了一个它的方法,结果一测试完全好用:在程序的closed事件处理程序中调用NotifyIcon控件的Dispose()方法,这样程序退出后托盘上的图标立刻就消失了。
private void Window_Closed(object sender, EventArgs e)
{
myNotifyIcon.Dispose();
}
相关文章推荐
- C# 程序关闭托盘图标不会自动消失
- C#实现WinForm程序的动态系统托图标 关闭主窗体时最小化到系统托盘
- 为什么状态栏上的GPS图标在GPS程序退出后不会自动消失
- Windows关闭程序托盘图标不能消失的原因
- 蛋疼的让C#控制台程序(Console)像窗体(Winform)一样(关闭,托盘图标,事件响应,手动退出等)
- 蛋疼的让C#控制台程序(Console)像窗体(Winform)一样(关闭,托盘图标,事件响应,手动退出等)
- [Winform]在关闭程序后,托盘不会消失的问题
- Delph-- 关闭程序后托盘图标显示
- SWT 中实现最小化到托盘图标,并只能通过托盘的弹出菜单关闭程序
- C# 实现WinForm程序的动态系统托盘图标
- 用C#写的可以停放在任务栏上的图标程序(类似于Flashget、OICQ那种系统托盘图标)
- c# 软件自动升级 程序自我关闭自己后重启
- [MFC]托盘图标删除后不自动消失的问题
- [MFC]托盘图标删除后不自动消失的问题
- [摘抄]MFC中一个程序对另一个程序的关闭重启操作,关闭时删除其托盘图标
- [MFC]托盘图标删除后不自动消失的问题
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示 很多程序是只需要后台运行的,甚至不需要自己的应用界面。NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下
- C#窗体程序入门,实现3秒倒计时关闭显示器,实现系统托盘,右键菜单。
- C#托盘图标程序