---------------------------------------------2013年5月2日------------------------------------------------------------------------------------------------------------------------------
今天修改了紧急通知不优先的bug,增加了关闭窗口时会调整存活窗口的位置等问题,但是还没经过全面的测试,需要的朋友请等等,明天(5月3)日我去测试好了就发链接出来。
最新修改的下载地址(之前未修改的在此文底部有下载地址):http://download.youkuaiyun.com/detail/juyangjia/5323339
---------------------------------------------2013年4月28日------------------------------------------------------------------------------------------------------------------------------
最近在公司做一个简单的采集数据的程序,我没事自己边网上百度边做,做了这个提示信息的小工具,送给新人吧,希望大家下载了看了学了之后,以后自己写了什么好东西呢也不要藏着,毕竟开放才能成长嘛。
我承认有些地方写得不好。。。很傻,我第一次写多线程。很多东西都不会,新手看看就行了
用了队列和多线程,可以同时show 多个提示框,但是会根据设置同时显示的提示框数量不会超过设置的值,超过的将在前面显示的框被关闭或自动关闭之后继续显示。
先看效果图,后面继续讲:
此图为就是提示框的overlap设置为false
此图为overlap设置为true,所有通知都会在一起,后面弹出遮挡前面弹出
一、先说说原理:1.将要显示的消息添加到队列,并释放信号量
2.独立的线程接收到信号量释放通知,代表“有消息需要显示”,它就去取出来显示。
二、使用方法:最简使用方式就是使用NoticeCenter类的Show()方法
1. 配置提示框属性(不配置有默认值)
// 自定义配置方式1
NoticeCenter.Cfg.Height = 140;//弹出框高
NoticeCenter.Cfg.Width = 250;//弹出框宽
NoticeCenter.Cfg.Overlap = false;//弹出框是否重叠,true时弹出的框位置一致,后面弹出的将遮挡前面弹出的
NoticeCenter.Cfg.TotalShow = 5;//同一时刻显示几个提示框,如果超出5个,该线程将等待前面的线程释放
//自定义配置方式2
NoticeCenter.Cfg=new NoticeCfg{Height=140,Width=250,TotalShow=5,Overlap=false};
2. 实例化1个或多个“提示信息类”,即实例化一个需要提示给用户的通知( Notice ) , notice一共有3个属性,解释如下:
//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的内容" };
3. 调用通知的show()
NoticeCenter.Show(notice_3);//将要弹出的消息放入队列,待轮到该提示弹出时将弹出
//NoticeCenter.Show(notice_3,true);//第二个参数为true代表“紧急”,会将消息放入队列首,优先弹出
源码:
http://download.youkuaiyun.com/detail/juyangjia/5308805
欢迎下载