如何像QQ一樣操作Winform程序?
-Begin-
前言
QQ和微信作為日常使用最廣的CS客戶端程序,可能我們以后習慣了這種操作:
點擊最小化,將程序最小化到任務欄中
點擊關閉,并不是真的關閉,而是縮小到托盤里
從托盤中找到圖標,雙擊,將程序展示出來
從托盤中找到圖標,右擊,退出,才是真正的退出程序
今天跟大家分享一下,Winform程序實現最小化到托盤及托盤右鍵菜單。
實現
1、首先假設已經開發好了應用程序,從工具箱中,找到一個組件叫NotifyIcon,拖放到主窗體中。

2、點擊NotifyIcon組件,右側屬性中,修改Icon和Text,改成你需要設置的內容。

3、主窗體添加一個FormClosing事件,在該事件中編寫代碼如下:
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (realClose == false)
{
this.WindowState = FormWindowState.Minimized;
//隱藏任務欄區圖標
this.ShowInTaskbar = false;
e.Cancel = true;
}
}
realClose是一個全局字段,表示是否真的關閉,默認值是False,這樣直接點擊關閉時,并不是真的關閉程序,而且縮小到托盤。
4、給NotifyIcon組件添加一個雙擊事件,在雙擊事件中,將程序顯示出來,代碼如下:
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
//還原窗體顯示
this. WindowState = FormWindowState.Normal;
//激活窗體并給予它焦點
this.Activate();
//任務欄區顯示圖標
this.ShowInTaskbar = true;
}
}
5、目前這種情況是無法關閉程序的,所以需要給NotifyIcon組件添加一個右鍵菜單,從工具箱中,添加一個ContextMenuStrip組件,然后添加兩個Item,分別是打開軟件tsm_Open和關閉軟件tsm_Exit。

6、打開軟件代碼比較簡單,具體如下:
private void tsm_Open_Click(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
//還原窗體顯示
this.WindowState = FormWindowState.Normal;
//激活窗體并給予它焦點
this.Activate();
}
}
7、退出軟件首先是將realClose置位True,然后調用this.Close方法即可。
private void tsm_Exit_Click(object sender, EventArgs e)
{
realClose = true;
this.Close();
}
至此,就實現了Winform程序實現最小化到托盤及托盤右鍵菜單。
請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
- 1 AI狂歡遇上油價破百,全球股市還能漲多久? | 產聯看全球
- 2 OpenAI深夜王炸!ChatGPT Images 2.0實測:中文穩、細節炸,設計師慌了
- 3 6000億美元估值錨定:字節跳動的“去單一化”突圍與估值重構
- 4 Tesla AI5芯片最新進展總結
- 5 連夜測了一波DeepSeek-V4,我發現它可能只剩“審美”這個短板了
- 6 熱點丨AI“瑜亮之爭”:既生OpenClaw,何生Hermes?
- 7 AI界的殺豬盤:9秒刪庫跑路,全員被封號,還繼續扣錢!
- 8 2026,人形機器人只贏了面子
- 9 DeepSeek降價90%:價格屠夫不是身份,是戰略
- 10 AI Infra產業鏈卡在哪里了?


分享













