VB.NET - Programmatically add items to context menu

by Administrator 8. October 2009 00:11

First you need an event handler

Private Sub ContextMenuHandler_Click(ByVal sender As Object, ByVal e As System.EventArgs)

 

' Do something when the user clicks on a node

' Use the sender.tag to determine which menu item was clicked

 

End Sub

Then you can add the menu items dynamically

' This could be a strip added via form designer

Dim oContextMenu As New ContextMenuStrip

' Add a toolstrip Item

Dim oNewToolStripItem As New ToolStripMenuItem

oNewToolStripItem.Text = "Parent"

oNewToolStripItem.Tag = "1"

AddHandler oNewToolStripItem.Click, AddressOf ContextMenuHandler_Click

oContextMenu.Items.Add(oNewToolStripItem)

 

' Add a couple of children

Dim oNewToolStripItem2 As New ToolStripMenuItem

oNewToolStripItem2.Text = "Child 1"

oNewToolStripItem2.Tag = "2"

AddHandler oNewToolStripItem2.Click, AddressOf ContextMenuHandler_Click

oNewToolStripItem.DropDownItems.Add(oNewToolStripItem2)

 

Dim oNewToolStripItem3 As New ToolStripMenuItem

oNewToolStripItem3.Text = "Child 2"

oNewToolStripItem3.Tag = "3"

AddHandler oNewToolStripItem3.Click, AddressOf ContextMenuHandler_Click

oNewToolStripItem.DropDownItems.Add(oNewToolStripItem3)