剛在寫個程序,遇到個小問題,就是當點擊最小化按鈕時,如何把程序最小化到系統托盤裏去。其實這樣的例子在很多軟件上面都可以見到的
,但剛開始找屬性時並沒有任何和系統托盤有關的,找了一下事件,也沒有發現有關最小化按鈕點擊的事件。鬱悶中,於是上網搜索了一下,
才發現原來有個叫NotifyIcon的控件(汗一個,再BS自己一個,以前怎麼沒發現)。而最小化的事件也可以換種思路去實現(用SizeChanged事
件)。下面是實現當點擊最小化按鈕時,程序縮到系統托盤中,雙擊系統托盤圖標時,還原程序。1、建個WinForm項目,其它操作略過。2、
拉個NotifyIcon控件,將屬性Visable設置成False,在Text屬性上隨便填些文件。3、實現Form的SizeChanged事件,代碼如下:
if(this.WindowState == FormWindowState.Minimized) //判斷是否最小化
{
this.ShowInTaskbar = false; //不顯示在系統任務欄
notifyIcon.Visible = true; //托盤圖標可見
}
4、實現NotifyIcon控件的DoubleClick事件,代碼如下:
if(this.WindowState == FormWindowState.Minimized)
{
this.ShowInTaskbar = true; //顯示在系統任務欄
this.WindowState = FormWindowState.Normal; //還原窗體
notifyIcon.Visible = false; //托盤圖標隱藏