2008年4月23日 星期三

NotifyIcon 與contextMenuStrip的搭配應用

Windows Form NotifyIcon 控制項通常用來為在背景中執行的處理序 (Process) 顯示圖示,而且大部分時間不會顯示使用者介面。MSN程式或是防毒軟體即為範例之一,讓一般的User可在工作列的狀態告知區按一下圖示(Icon)來存取。每個 NotifyIcon 控制項都會在狀態區顯示一個圖示。假設想要執行三個背景處理序,每個都需要獨立的顯示圖示,那麼就必須將三個 NotifyIcon 控制項加入表單分別設定才行。

亞當斯接下來簡單說明一下NotifyIcon 搭配contextMenuStrip的設計方式:

  1. 先在表單中加入一個contextMenuStrip控制項,並且設定幾個ToolStripMenuItem,例如:開始、停止、離開等。NotifyIcon01
  2. 拖拉一個NotifyIcon控制項到畫面中,設定ContextMenuStrip(取得或設定與 NotifyIcon 關聯的快速鍵功能表)為ContextMenuStrip1,並設定BalloonTipText、BalloonTipIcon 和 BalloonTipTitle 來指定汽球提示的文字、圖示和標題。
  3. NotifyIcon 主要屬性是 Icon 和 Visible,因此設定Icon 為一個影像檔,並設定Visible為true。NotifyIcon02
  4. 最後可以呼叫 ShowBalloonTip 方法來指定要顯示提示的時間範圍,為 NotifyIcon 顯示提示。程式碼為:
    NotifyIcon1.ShowBalloonTip(3000)
  5. 應用程式執行後的結果,就會在右下角的出現Icon,對著Icon按滑鼠右鍵,會彈出contextMenuStrip所設定的ToolStripMenuItem。另外按下表單中按鈕之後,Icon處就會彈出提示視窗,然後出現三秒鐘。
    05-ContextMenuStrip Work 04-ShowBallonTip

6 則留言:

g7 提到...

請問NotifyIcon1.ShowBalloonTip(秒數) 有辦法直到user滑鼠按下汽泡上的X才關閉!

匿名 提到...

整篇內容,有講跟沒講一樣...

亞當斯(Adams) 提到...

這是我自己做筆記的地方,誰會永遠記得某些控制項或元件怎麼使用?因此,樓上的大大就不勞煩您來這委屈了~謝謝

匿名 提到...

世界上就是有低能兒去酸別人

Unknown 提到...

請教 當氣泡畫面被其它應用程式覆蓋時。是否就會自懂停止。我的在屏幕保護程序啟動後就會自動停止。。直到屏保畫面消失後過10幾秒才又出現。。是否為正常呢

Unknown 提到...

這篇不錯啊。。稍加修改我已經完成了程式。。並運作至今已經快一年