Winform托盘NotifyIcon使用(类似QQ消息提示)

Winform托盘NotifyIcon使用(类似QQ消息提示)

 

概述:在做cti的过程中,需要在来电的时候在客户端弹出对应的客户信息,所以需要做一个托盘的客户端程序运行,当有来电的时候通过托盘图标的闪动(当然也可以加些音效)来提示坐席人员。这里我使用了NotifyIcon控件实现,主要步骤如下:

 

第一步:在工具箱中找到NotifyIcon控件,将其拖入设计版面中,如图:

 

 

第二步:设置相应的属性,如图:

 

 

Icon表示在托盘显示的图片

Text表示鼠标移上去的相应提示

其他的属性这里就不详细说明了,具体用的时候可以去百度一下。

 

第二步:设置事件,本人这里只用了click事件,当然也可以使用别的事件,看个人需求而定,代码:

this.icoThread.Abort();//这是在之后定义的一个让托盘图标闪动的线程,当用户点击后停止闪动

this.notifyIcon1.Icon = new Icon("ico/c.ico");//将初始化为原来没有闪动的图标

this.Visible = true;//弹出MainForm

this.WindowState = FormWindowState.Maximized;//最大化

 

第三步:定义闪动的线程,代码:

while (true)

{

this.notifyIcon1.Icon = new Icon("ico/bw.ico");

Thread.Sleep(100);

this.notifyIcon1.Icon = new Icon("ico/c.ico");

Thread.Sleep(100);

}

这里就是不断的去交替两个图标即可,本人项目中用的是一个黑白的和一个彩色的,这样看上去就是闪动效果了。这个线程的Abort时在第二步中click事件中,开始闪动根据之前的概述应该在得到来电的时候(得到来电具体的说明这里不说),当然根据每个人的不同需求可以将其放在不同的地方启动,比如在socket编程中得到消息的时候启动等。

 

第四步:在winform窗体最小化的时候展示出notifyicon控件,代码:

private void MainForm_SizeChanged(object sender, EventArgs e)

{

if (this.WindowState == FormWindowState.Minimized)

{

this.Hide();//隐藏本窗体

this.notifyIcon1.Visible = true;//展示出notifyicon控件

}

}

这样就简单的实现了托盘的闪动效果了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值