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控件

}

}

這樣就簡單的實現了托盤的閃動效果了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM