【队列+多线程】实现了类似QQ弹出提示框的东西, 平时也来CSDN拿了不少东西, 这个送给新人吧

please_call_me_J 2013-04-27 05:41:10
加精
平时来csdn 没少拿东西,以前一直做web项目, 最近在公司做一个简单的采集数据的程序,我没事自己边网上百度边做,做了这个提示信息的小工具,送给新人吧,希望大家下载了看了学了之后,以后自己写了什么好东西呢也不要藏着,毕竟开放才能成长嘛。

我承认有些地方写得不好。。。很傻,我第一次写多线程。很多东西都不会,新手看看就行了

工作原理:1.将要显示的消息添加到队列。2.独立的线程被信号量通知有消息来了,它就去取出来显示。

使用方法:

//一、配置(不配置采用默认设置):

//1.自定义配置方式1
NoticeCenter.Cfg.Height = 140;//弹出框高
NoticeCenter.Cfg.Width = 250;//弹出框宽
NoticeCenter.Cfg.Overlap = false;//弹出框是否重叠,true时弹出的框位置一致,后面弹出的将遮挡前面弹出的
NoticeCenter.Cfg.TotalShow = 5;//同一时刻显示几个提示框,如果超出5个,该线程将等待前面的线程释放

//2.自定义配置方式2
NoticeCenter.Cfg=new NoticeCfg{Height=140,Width=250,TotalShow=5,Overlap=false};

//二、创建“通知”

//1.提示信息,wait默认值为5000
Notice notice_1 = new Notice { msg = " 这是一个测试试试试试试试试试试试试试" };

//2.wait表示3000毫秒后提示框开始释放(关闭)
Notice notice_2 = new Notice { msg = " 这是一个测试试试试试试试试试试试试试", wait = 3000 };

//3.detail里的内容就是用户点击“查看详细”时弹出的框中显示的内容,用于弹出框不适合显示太多文本用一个详细窗口来显示具体内容
Notice notice_3 = new Notice { msg = " 这是一个测试试试试试试试试试试试试试", wait = 3000, detail = "点击查看详细时将显示detail设置的内容,如果不设置则默认显示msg的内容" };

//三、弹出通知
NoticeCenter.Show(notice_3);//将要弹出的消息放入队列,待轮到该提示弹出时将弹出
//NoticeCenter.Show(notice_3,true);//第二个参数为true代表“紧急”,会将消息放入队列首,优先弹出


效果图:
这个就是Overlap设置为false的效果,弹出框会重叠起来,如果为true就全部在右下角重叠起来

这个是查看详细,如果没有设置detail就会显示msg的值


当然,源码是必须的:
上传了,等着通过。如果通过我会来发链接的
...全文
8575 192 打赏 收藏 转发到动态 举报
写回复
用AI写文章
192 条回复
切换为时间正序
请发表友善的回复…
发表回复
daihongbing0214 2015-09-18
  • 打赏
  • 举报
回复
请问你給的链接为什么打不开啊?
why123qaz 2015-04-27
  • 打赏
  • 举报
回复
留言,学习。
csharpSun 2014-05-07
  • 打赏
  • 举报
回复
不错,很好。
gvk2005 2013-05-21
  • 打赏
  • 举报
回复
才看到挺好的哇,楼主可以给我发下最新的么,好研究一下gvk2005@qq.com
lmy0403 2013-05-14
  • 打赏
  • 举报
回复
lz多少也加点注释吧!!不然要怎么看哪~~~~
玄月丶 2013-05-13
  • 打赏
  • 举报
回复
感谢楼主分享,有机会试试
leitingzhiyi 2013-05-13
  • 打赏
  • 举报
回复
顶起来
薛小坏 2013-05-13
  • 打赏
  • 举报
回复
孤单的狼 2013-05-13
  • 打赏
  • 举报
回复
好东西,谢谢楼主分享啦~~~
Aroot 2013-05-11
  • 打赏
  • 举报
回复
收藏了。等会来看
zk7736 2013-05-11
  • 打赏
  • 举报
回复
学习了,楼主。。。。。
Dinizi 2013-05-11
  • 打赏
  • 举报
回复
围观下载看看
tptxuiy 2013-05-11
  • 打赏
  • 举报
回复
慢慢的完美好
tptxuiy 2013-05-11
  • 打赏
  • 举报
回复
很好 good
please_call_me_J 2013-05-10
  • 打赏
  • 举报
回复
引用 168 楼 u010477709 的回复:
东西值得学习,但是一点注释不加 大家就不要学这点了- -
您说得是,我最近在尝试研究asp.NET的长连接,用来做web监控系统和聊天系统很合适,等我研究好他的稳定性之后,来发教程的时候加好注释
please_call_me_J 2013-05-10
  • 打赏
  • 举报
回复
引用 170 楼 handht 的回复:
楼主这个能在vs2005上用么,能封装成dll不
2008开发的,2005我没试过,是在不行你就把文件1个个粘贴进去。
引用 165 楼 lp8958 的回复:
jackliu0088@qq.com 非常感谢您~~
[quote=引用 166 楼 handht 的回复:] quote] 已经发送
ainiml 2013-05-10
  • 打赏
  • 举报
回复
信息,好 好后好 阿訇
clz_boy 2013-05-10
  • 打赏
  • 举报
回复
氛围很好。。。。。。顶一顶
那种感觉 2013-05-10
  • 打赏
  • 举报
回复
引用 16 楼 dylike 的回复:
这个技术太牛了,感谢楼主分享,我一直都做不出来呢,今天可算遇到高手了,原来还可以改变窗体大小和位置,牛人。
kamYee 2013-05-09
  • 打赏
  • 举报
回复
mark
加载更多回复(136)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧