It's easy to create an application that uses the NotifyIcon control, you simply add the control to your windows form. There are even code examples out there that show how to add a Notify Icon through code. However I had a really hard time finding one that started up from 'Sub Main'. Add in the fact that I use Infragistics controls and I couldn't find any examples of hooking up a PopupMenu Tool as the context menu ... this took me several hours to hook it all together.
Enjoy ...
Imports Infragistics.Win.UltraWinToolbars
Public Module Startup
Private WithEvents SystemTrayIcon As New System.Windows.Forms.NotifyIcon
Private WithEvents ToolbarManager As UltraToolbarsManager
Private ContextMenu As PopupMenuTool
Public Sub Main()
SystemTrayIcon.Icon = New System.Drawing.Icon(".\Images\Keys.ico")
SystemTrayIcon.Visible = True
CreateContextMenu()
Windows.Forms.Application.Run()
End Sub
Private Sub CreateContextMenu()
Dim CurrentTool As ButtonTool
ToolbarManager = New UltraToolbarsManager
ContextMenu = New PopupMenuTool("ContextMenu")
ToolbarManager.Tools.Add(ContextMenu)
CurrentTool = New ButtonTool("Help")
CurrentTool.SharedProps.Caption = "&Help"
CurrentTool.SharedProps.AppearancesSmall.Appearance.Image = System.Drawing.Image.FromFile(".\Images\help.png")
ToolbarManager.Tools.Add(CurrentTool)
CurrentTool = New ButtonTool("About")
CurrentTool.SharedProps.Caption = "&About"
ToolbarManager.Tools.Add(CurrentTool)
CurrentTool = New ButtonTool("Exit")
CurrentTool.SharedProps.Caption = "E&xit"
ToolbarManager.Tools.Add(CurrentTool)
CurrentTool = ContextMenu.Tools.AddTool("Help")
CurrentTool.InstanceProps.IsFirstInGroup = True
CurrentTool = ContextMenu.Tools.AddTool("About")
CurrentTool = ContextMenu.Tools.AddTool("Exit")
CurrentTool.InstanceProps.IsFirstInGroup = True
ToolbarManager.SetContextMenuUltra(SystemTrayIcon, "ContextMenu")
End Sub
Private Sub ToolbarManager_ToolClick(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinToolbars.ToolClickEventArgs) Handles ToolbarManager.ToolClick
Select Case e.Tool.Key
Case "Exit"
Windows.Forms.Application.Exit()
Case "About"
Case "Help"
End Select
End Sub
End Module