Public Class Form1


    Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load

        Me.ContextMenuStrip = ContextMenuStrip1

        Dim menu1 As New ToolStripMenuItem() With {.Text = "Menu Item 1", .Name = "mnuItem1"}
        AddHandler menu1.Click, AddressOf mnuItem_Clicked
        ContextMenuStrip1.Items.Add(menu1)

        'Add a submenu to Menu 1
        Dim menu2 As New ToolStripMenuItem() With {.Text = "Menu Item 2", .Name = "mnuItem2"}
        'We have a reference to menu1 already, but here's how you can find the menu item by name...
        For Each item As ToolStripMenuItem In ContextMenuStrip1.Items
            If item.Name = "mnuItem1" Then
                item.DropDownItems.Add(menu2)
                AddHandler menu2.Click, AddressOf mnuItem_Clicked
            End If
        Next


    End Sub

    Private Sub mnuItem_Clicked(sender As Object, e As EventArgs)
        ContextMenuStrip1.Hide() 'Sometimes the menu items can remain open.  May not be necessary for you.
        Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
        If item IsNot Nothing Then
            MsgBox("You've clicked " & item.Name)
        End If
    End Sub

End Class