【C#】关于右下角托盘图标以及气泡使用的注意事项

来源:互联网 发布:java实现微信公众号 编辑:程序博客网 时间:2024/05/01 05:26

说实话,今天有点蛋疼了,折腾个右下角弹出气泡好半天,最后脑瓜们一亮,找到原因了吗,好气又好笑,还好过程不长,顺手记录一笔,以资纪念。

系统使用的是win10 专业版,vs使用的是2015版本,进行winform的标准应用开发。

首先是使用大家喜闻乐见的NotifyIcon组件,将托盘图标的功能实现出来:

1、visiable属性设置为true;

2、设置好这个组件的图标。

然后,监听这个组件的鼠标事件:

this.MainNotifyIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(this.NotifyIcon_MouseClick);
由于需求上要求的是,右键没有反应,左键点击拉出来菜单进行退出,就像是360安全卫士那样的,所以还要给NotifyIcon组件设置一个ContextMenuStrip,实例化组件之后,将两个组件进行关联,并添加“关于”、“退出”两个选项(先用这两个,哈)。

然后就是在各种点击事件里面完成需求上的功能,接着就是完成气泡消息的实现,二话不说,直接一句话:

this.MainNotifyIcon.ShowBalloonTip(5000, "提示", "互动助手已经最小化至托盘运行!", ToolTipIcon.Info);
这句话有错吗?木有!功能实现了吗?理论上实现啦!好使了吗?不好使!!!靠!!!!!!!!!!!!!!!!!!

开始找原因,到网上查了资料,大家都是一样的写法,断点调试,也木有问题,这到底是咋回事?

然后就开始纠结上windows系统机制上的检查,最后发现,我的win10在安装之后,将系统的通知信息全部取消了,是木有办法弹出来气泡滴!

猜想是这个,那就验证下呗!

任务栏--右键--通知区域--通知--显示应用通知--开

设置完之后,再一运行代码,妥了,出来了!!!!当时我这心中啊,一万头羊驼奔腾而过啊!!!!

系统自带的气泡不靠谱啊!!而且win10已经变成从右面弹出提示框的形式了,不再是气泡的形式了,所以,要想维持原先的样式,就只能自己写一个气泡了。

相对于右下角弹窗,右下角气泡是比较难实现滴,因为用户可能会选择将你的托盘图标折叠,酱紫就悲剧了,所以先暂时只能用系统的,先看看最终需求决定采用哪一个方式,是气泡还是托盘,然后再决定最终方案。

经验:windows系统机制上的问题需要多多注意,不然会浪费好多时间,泪奔ing~~~~~~~~~~~~~~~~~~





1 0
原创粉丝点击