標籤:des cWeb style blog http color 使用 os
NotifyIcon就是系統托盤控制項.通知區域中的表徵圖是一些進程的捷徑,這些進程在電腦後台運行,如防毒程式或音量控制.這些進程不會具有自己的使用者介面.NotifyIcon 類提供了編寫此功能的方法.Icon屬性定義顯示在通知區域中的表徵圖。表徵圖的快顯功能表由ContextMenu屬性確定.Text屬性分配工具提示文本.要在通知區域中顯示表徵圖,必須將Visible屬性設定為 true.
如所示:
向Form1視窗中添加一個NotifyIcon控制項,修改其Name屬性為 TheNotifyIcon。修改其Text屬性為訂單提醒,與應用程式的標題相同。這是因為NotifyIcon顯示在系統托盤中時,Text屬性中儲存的文本為滑鼠移動到程式表徵圖上時的提示資訊。修改Icon屬性,為NotifyIcon添加一個表徵圖;如所示:
在Form1的屬性視窗上,把Icon 屬性也選擇為與NotifyIcon相同的表徵圖。修改ShowInTaskBar屬性值為False,這樣,應用程式在運行時就不會出現在工作列中;
添加雙擊TheNotifyIcon時的事件處理代碼(DoubleClick)
1 private void TheNotifyIcon_DoubleClick(object sender, EventArgs e) 2 { 3 if (this.Visible) 4 { 5 this.Hide(); 6 } 7 else 8 { 9 this.Show();10 }11 }
在使用NotifyIcon控制項時,經常需要用到捷徑功能表(ContextMenu控制項)。使用方法為,向Form1中添加contextmenu控制項,添加兩個功能,一個為開啟主介面,一個為退出。在TheNotifyIcon的ContextMenu屬性中選擇剛剛添加的ContextMenu控制項。這樣在表徵圖上可以通過捷徑功能表執行程式的各種功能.
在功能的單擊事件中代碼如下:
1 //顯示主介面 2 private void toolStripMenuItem1_Click(object sender, EventArgs e) 3 { 4 if (this.Visible) 5 { 6 this.Hide(); 7 } 8 else 9 {10 this.Show();11 }12 }13 14 //關閉15 private void toolStripMenuItem2_Click(object sender, EventArgs e)16 {17 this.Close();18 }
最小化表單時,在系統托盤地區顯示程式表徵圖,並有氣球提示,時間為30秒. 效果,具體實現如下:
Form1_SizeChanged事件,效果為最小化表單時,在系統托盤地區顯示程式表徵圖及氣球提示:
這樣就實現了上述功能,需要強調的是:代碼this.TheNotifyIcon.ShowBalloonTip(30, "訊息提醒", "現在是托盤狀態!", ToolTipIcon.Info);為氣球提示的實現,代碼WindowState == FormWindowState.Minimized為表單最小化的判斷條件,代碼this.WindowState = FormWindowState.Normal;為表單還原的實現.