很多程序是只需要后台運行的,甚至不需要自己的應用界面。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);