A simple solution, once you see it. Create the following, then add the code to your form.
A ToolStripMenuItem named "TrayToolStripMenuItem", inside of
A ContextMenuStrip named "TrayMenuStrip", inside of
A NotifyIcon named "TrayIcon":
Private Sub TrayIcon_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TrayIcon.MouseDown
Select Case Me.WindowState
Case FormWindowState.Minimized
TrayToolStripMenuItem.Text =
"Show"
Case FormWindowState.Normal
TrayToolStripMenuItem.Text =
"Hide"
Case FormWindowState.Maximized
TrayToolStripMenuItem.Text =
"Hide"
End Select
End Sub
Private Sub TrayIcon_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TrayIcon.MouseDoubleClick
If Me.WindowState = FormWindowState.Minimized Then
Me.Show()
Me.WindowState = FormWindowState.Normal
Else
Me.WindowState = FormWindowState.Minimized
Me.Hide()
End If
End Sub
Private Sub TrayToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrayToolStripMenuItem.Click
If Me.WindowState = FormWindowState.Minimized Then
Me.Show()
Me.WindowState = FormWindowState.Normal
Else
Me.WindowState = FormWindowState.Minimized
Me.Hide()
End If
End Sub