C#之使用NotifyIcon實現任務欄托盤菜單,圖標閃爍效果及氣泡提示


很多程序是只需要后台運行的,甚至不需要自己的應用界面。NotifyIcon提供了程序在任務欄的顯示功能

程序下載鏈接如下:

http://download.csdn.net/detail/u010312811/9483473

 

1.創建一個項目,向窗體中添加NotifyIcon控件和ContextMenuStrip控件;

2.為ContextMenuStrip控件添加子項;

3.選擇NotifyIcon控件,在其屬性窗口中將ContextMenuStrip屬性設置為添加到窗體上的ContextMenuStrip控件,並為Icon屬性設置圖片。

注:必須為NotifyIcon控件的Icon屬性設置圖標,否則是看不到的

代碼:

 

 1         private void 顯示ToolStripMenuItem_Click(object sender, EventArgs e)  2  {  3             this.Visible = true;  4  }  5 
 6         private void 設置ToolStripMenuItem_Click(object sender, EventArgs e)  7  {  8             this.Visible = false;  9  } 10 
11         private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) 12  { 13  Application.Exit(); 14         }

 

效果圖:

 

 

 

 2.圖標的閃爍效果

在圖標閃爍中提到,給NotifyIcon賦予一個ICON可以控制使其在任務欄顯示,閃爍的效果是加上一個空白的圖標,正常圖標與空白圖標的切換進而實現閃爍的效果。

注:不能使用清除icon的方法,否則圖標是在該位置清除,會引起其他圖標的移動,空白圖標起到占位的作用

代碼如下:

說明:property是vs的一個資源管理功能,可以存儲系統圖標及一些常量

1    private Icon blank = Properties.Resources.blank; 2    private Icon normal = Properties.Resources.normal; 3    private bool _status = true; 4    private bool _isBlink = false;

右鍵菜單控制圖標是不是顯示

 1    private void toolStripMenuItem1_Click(object sender, EventArgs e)  2  {  3        if (_isBlink == false)  4  {  5            _isBlink = true;  6            timer1.Enabled = true;  7  timer1.Start();  8  }  9        else
10  { 11            _isBlink = false; 12  timer1.Stop(); 13 
14            notifyIcon1.ShowBalloonTip(5000, "提示", "關閉閃爍效果!", ToolTipIcon.Info); 15  } 16    }

定時器中修改圖標的狀態,定時反轉圖標

1    private void timer1_Tick(object sender, EventArgs e) 2  { 3        if (_status) 4            notifyIcon1.Icon = normal; 5        else
6            notifyIcon1.Icon = blank; 7 
8        _status = !_status; 9    }

氣泡提示:

notifyIcon1.ShowBalloonTip(5000, "提示", "關閉閃爍效果!", ToolTipIcon.Info);

 


免責聲明!

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



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