這功能在之前都要透過WindowsAPI才能達成,
但在.net 2.0把它加入新功能囉!
是個名叫NotifyIcon的控制項.
很多年沒用VB了, 記得以前有個能控制視窗縮最小的event
但現在找不到, 但能用下列方式達成
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
If (Me.WindowState = FormWindowState.Minimized) Then ' 判斷視窗是為最小化
Me.Hide() ' 將視窗隱藏
NotifyIcon1.Visible = True ' 將右下角的圖示顯現
NotifyIcon1.Text = "handy hiRadio" ' 右下角圖示所要顯示的提示名稱
End If
End Sub
有一點要注意的, 縮到右下角後要用Menu需使用ContextMenuStrip喔!
NotifyIcon的屬性ContextMenuStrip也要指定才會有作用.
如果不是用右上角的叉叉做關閉的動作, 也要特別做些控制, 不然有時候右下角的圖示不會消失.
Protected Sub Shutdown()
' 在結束應用程式之前,最好先隱藏系統匣圖示,
' 否則當應用程式不再執行時,該圖示可能會繼續
' 留在系統匣中。
NotifyIcon1.Visible = False
Application.Exit()
End Sub
縮到右下角後, 如果要讓它回復原視窗, 用MouseDoubleClick來控制
Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
NotifyIcon1.Visible = False
Me.Show()
Me.WindowState = FormWindowState.Normal
End Sub |