如何讓windowsForm能像MSN一樣縮小后會(huì)跑到右下方的系統(tǒng)匣內(nèi),
只要利用NotifyIcon就可以做到相同的功能,MSDN NotifyIcon組件說明
首先先開啟一個(gè)windowsForm項(xiàng)目,在工具欄將NotifyIcon拉到windowsForm上。
接著先為NotifyIcon指定Icon和Text,就是在系統(tǒng)匣會(huì)出現(xiàn)的小圖和鼠標(biāo)移過去時(shí)出現(xiàn)的文字。
執(zhí)行結(jié)果
如果要在窗口縮小時(shí),只顯示在系統(tǒng)匣顯示,
反之則變成只顯示在工作列,就必須要在Form的SizeChanged事件做控制:
將NotifyIcon 的Visible默認(rèn)為false
private void Form1_SizeChanged(object sender, EventArgs e) { bool isMin = this.WindowState == FormWindowState.Minimized;//窗口是否為最小化 this.notifyIcon1.Visible = isMin;//是否顯示在系統(tǒng)匣 this.ShowInTaskbar = !isMin;//是否顯示在工作列 if (isMin) this.Hide();//隱藏主窗口 }
這樣如果把窗口縮小后,會(huì)沒辦法再叫回來,但可以利用NotifyIcon的MouseDoubleClick事件,
讓鼠標(biāo)左鍵點(diǎn)選系統(tǒng)匣圖示兩下就恢復(fù)正常窗口。
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { this.Show(); this.WindowState = FormWindowState.Normal; } }
接著還可以為NotifyIcon加ContextMenuStrip,從工具欄中拉一個(gè)ContextMenuStrip到設(shè)計(jì)窗口,并設(shè)計(jì)一些選項(xiàng)進(jìn)去,
執(zhí)行結(jié)果~
NotifyIcon還可以加上氣球提示效果,假設(shè)在窗口縮小的時(shí)候可跳出一個(gè)氣球提示告知使用者~
Icon
在之前隱藏主窗口的地方再加一行CODE~
if (isMin) { this.Hide();//隱藏主窗口 this.notifyIcon1.ShowBalloonTip(2000);//氣球提示2秒鐘 }
執(zhí)行結(jié)果~
嗯…杯具完了~~
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選