WinForm實(shí)現(xiàn)最小化到系統(tǒng)托盤方法實(shí)例詳解
本文實(shí)例講述了WinForm實(shí)現(xiàn)最小化到系統(tǒng)托盤方法。分享給大家供大家參考。具體分析如下:
有個(gè)叫NotifyIcon的控件
1、建個(gè)WinForm項(xiàng)目,其它操作略過(guò)。
2、拉個(gè)NotifyIcon控件,將屬性Visable設(shè)置成False,在Text屬性上隨便填些文件。
3、實(shí)現(xiàn)Form的SizeChanged事件,代碼如下:
if(this.WindowState == FormWindowState.Minimized) //判斷是否最小化 { this.ShowInTaskbar = false; //不顯示在系統(tǒng)任務(wù)欄 notifyIcon.Visible = true; //托盤圖標(biāo)可見(jiàn) }
4、實(shí)現(xiàn)NotifyIcon控件的DoubleClick事件,代碼如下:
if(this.WindowState == FormWindowState.Minimized) { this.ShowInTaskbar = true; //顯示在系統(tǒng)任務(wù)欄 this.WindowState = FormWindowState.Normal; //還原窗體 notifyIcon.Visible = false; //托盤圖標(biāo)隱藏 }
例題:
private ContextMenu notifyiconMnu; #region 最小化到任務(wù)欄 /// <summary> /// 最小化到任務(wù)欄 /// </summary> private void Initializenotifyicon() { //定義一個(gè)MenuItem數(shù)組,并把此數(shù)組同時(shí)賦值給ContextMenu對(duì)象 MenuItem[] mnuItms = new MenuItem[3]; mnuItms[0] = new MenuItem(); mnuItms[0].Text = "顯示窗口"; mnuItms[0].Click += new System.EventHandler(this.notifyIcon1_showfrom); mnuItms[1] = new MenuItem("-"); mnuItms[2] = new MenuItem(); mnuItms[2].Text = "退出系統(tǒng)"; mnuItms[2].Click += new System.EventHandler(this.ExitSelect); mnuItms[2].DefaultItem = true; notifyiconMnu = new ContextMenu(mnuItms); notifyIcon1.ContextMenu = notifyiconMnu; //為托盤程序加入設(shè)定好的ContextMenu對(duì)象 } private void notifyIcon1_DoubleClick(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Show(); this.ShowInTaskbar = true; this.WindowState = FormWindowState.Normal; notifyIcon1.Visible = false; } } public void notifyIcon1_showfrom(object sender, System.EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Show(); this.ShowInTaskbar = true; this.WindowState = FormWindowState.Normal; notifyIcon1.Visible = false; } } public void ExitSelect(object sender, System.EventArgs e) { //隱藏托盤程序中的圖標(biāo) notifyIcon1.Visible = false; //關(guān)閉系統(tǒng) this.Close(); this.Dispose(true); } #endregion private void Form_main_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) //判斷是否最小化 { notifyIcon1.Visible = true; this.Hide(); this.ShowInTaskbar = false; Initializenotifyicon(); } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
Winform學(xué)生信息管理系統(tǒng)各子窗體剖析(3)
這篇文章主要針對(duì)Winform學(xué)生信息管理系統(tǒng)各子窗體進(jìn)行剖析,感興趣的小伙伴們可以參考一下2016-05-05C#中OpenCVSharp實(shí)現(xiàn)輪廓檢測(cè)
這篇文章主要介紹了C#中OpenCVSharp實(shí)現(xiàn)輪廓檢測(cè),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11C#實(shí)現(xiàn)調(diào)用迅雷下載的方法
這篇文章主要介紹了C#實(shí)現(xiàn)調(diào)用迅雷下載的方法,非常實(shí)用的一個(gè)技巧,對(duì)于進(jìn)行C#程序設(shè)計(jì)有很好的借鑒價(jià)值,需要的朋友可以參考下2014-08-08C#程序(含多個(gè)Dll)合并成一個(gè)Exe的簡(jiǎn)單方法
這篇文章主要為大家詳細(xì)介紹了C#程序(含多個(gè)Dll)合并成一個(gè)Exe的簡(jiǎn)單方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12C#非托管泄漏中HEAP_ENTRY的Size對(duì)不上解析
這篇文章主要為大家介紹了C#非托管泄漏中HEAP_ENTRY的Size對(duì)不上解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09