Winform托盤NotifyIcon使用(類似QQ訊息提示)

來源:互聯網
上載者:User

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控制項

}

}

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.