VB.Net Code Example for a 'Sub Main' Startup for a System Tray Application with an Infragistics Context Menu

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
Randy Walker's Picture

About Randy Walker

Randy is an entrepreneur, software developer, amateur photographer, speaker and influencer.

Bentonville, Arkansas http://thesaltykorean.com