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