Author:水如烟
Namespace
LzmTW.uSystem.uWindows.uForms.uMainForm
Public Class uNotifyIcon
Private WithEvents gNotifyIcon As New NotifyIcon
Private WithEvents gContextMenuStrip As New System.Windows.Forms.ContextMenuStrip
Private WithEvents gShowToolStripMenuItem As New System.Windows.Forms.ToolStripMenuItem
Private WithEvents gMainForm As Form
Public ReadOnly Property ContextMenuStrip() As ContextMenuStrip
Get
Return Me .gContextMenuStrip
End Get
End Property
Public WriteOnly Property Visible() As Boolean
Set ( ByVal value As Boolean )
Me .gNotifyIcon.Visible = value
End Set
End Property
Sub New ( ByVal mainForm As Form)
gMainForm = mainForm
Initialize()
End Sub
Private Sub Initialize()
Me .gShowToolStripMenuItem.Text = String .Format( " 打开 {0} " , Me .gMainForm.Text)
Me .gContextMenuStrip.Items.Add( Me .gShowToolStripMenuItem)
With gNotifyIcon
.Text = gMainForm.Text
.ContextMenuStrip = Me .gContextMenuStrip
.Icon = gMainForm.Icon
.Visible = False
End With
End Sub
Public Sub HideWindow()
Me .gNotifyIcon.Visible = True
gMainForm.Hide()
End Sub
Private Sub gShowToolStripMenuItem_Click( ByVal sender As Object , ByVal e As System.EventArgs) Handles gShowToolStripMenuItem.Click
Me .ShowWindow()
End Sub
Private Sub gNotifyIcon_MouseDoubleClick( ByVal sender As Object , ByVal e As System.Windows.Forms.MouseEventArgs) Handles gNotifyIcon.MouseDoubleClick
Me .ShowWindow()
End Sub
Private Sub ShowWindow()
Me .gNotifyIcon.Visible = False
uWindows.Win32API.WindowsAction.ShowWindow(gMainForm)
End Sub
Private Sub gMainForm_FormClosing( ByVal sender As Object , ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles gMainForm.FormClosing
Me .gNotifyIcon.Dispose()
End Sub
End Class
End Namespace
Public Class uNotifyIcon
Private WithEvents gNotifyIcon As New NotifyIcon
Private WithEvents gContextMenuStrip As New System.Windows.Forms.ContextMenuStrip
Private WithEvents gShowToolStripMenuItem As New System.Windows.Forms.ToolStripMenuItem
Private WithEvents gMainForm As Form
Public ReadOnly Property ContextMenuStrip() As ContextMenuStrip
Get
Return Me .gContextMenuStrip
End Get
End Property
Public WriteOnly Property Visible() As Boolean
Set ( ByVal value As Boolean )
Me .gNotifyIcon.Visible = value
End Set
End Property
Sub New ( ByVal mainForm As Form)
gMainForm = mainForm
Initialize()
End Sub
Private Sub Initialize()
Me .gShowToolStripMenuItem.Text = String .Format( " 打开 {0} " , Me .gMainForm.Text)
Me .gContextMenuStrip.Items.Add( Me .gShowToolStripMenuItem)
With gNotifyIcon
.Text = gMainForm.Text
.ContextMenuStrip = Me .gContextMenuStrip
.Icon = gMainForm.Icon
.Visible = False
End With
End Sub
Public Sub HideWindow()
Me .gNotifyIcon.Visible = True
gMainForm.Hide()
End Sub
Private Sub gShowToolStripMenuItem_Click( ByVal sender As Object , ByVal e As System.EventArgs) Handles gShowToolStripMenuItem.Click
Me .ShowWindow()
End Sub
Private Sub gNotifyIcon_MouseDoubleClick( ByVal sender As Object , ByVal e As System.Windows.Forms.MouseEventArgs) Handles gNotifyIcon.MouseDoubleClick
Me .ShowWindow()
End Sub
Private Sub ShowWindow()
Me .gNotifyIcon.Visible = False
uWindows.Win32API.WindowsAction.ShowWindow(gMainForm)
End Sub
Private Sub gMainForm_FormClosing( ByVal sender As Object , ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles gMainForm.FormClosing
Me .gNotifyIcon.Dispose()
End Sub
End Class
End Namespace