Click here to Skip to main content
15,906,335 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I Have added a contextmenustrip to my form and called it Namelist. The contextmenu shows the menuitems I add at runtime, but the event for it does not fire?

VB
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim name As String = "Menu1"
        Dim MyMenuItem As New MenuItem
        MyMenuItem.Text = name
        AddHandler MyMenuItem.Click, AddressOf MyMenuItems_Click
        Namelist.Items.Add(name)

        name = "Menu2"
        MyMenuItem = New MenuItem
        MyMenuItem.Text = name
        AddHandler MyMenuItem.Click, AddressOf Me.MyMenuItems_Click
        Namelist.Items.Add(name)
    End Sub
   
    Private Sub MyMenuItems_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim MyMenu As MenuItem = CType(sender, MenuItem)
        Select Case MyMenu.Text
            Case "Menu1"
                MessageBox.Show("Menu1 was clicked")
            Case "Menu2"
                MessageBox.Show("Menu2 was clicked")
        End Select

    End Sub

    Private Sub Form1_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles Me.MouseDoubleClick
        Namelist.Show(Me, e.X, e.Y)
    End Sub


Anyone?
Posted
Updated 12-Oct-13 3:27am
v2

1 solution

Okay I solved it. Changed the code and now it works

VB
Dim name As String = "Menu1"
        Dim MyMenuItem As New ToolStripMenuItem()
        MyMenuItem.Text = name
        MyMenuItem.Image = Image.FromFile("F:\My Icons\firefox.ico")
        AddHandler MyMenuItem.Click, AddressOf MyMenuItems_Click
        AddHandler MyMenuItem.MouseEnter, AddressOf MyMenuItems_Enter

        Namelist.Items.Add(MyMenuItem)

        name = "Menu2"
        MyMenuItem = New ToolStripMenuItem()
        MyMenuItem.Text = name
        AddHandler MyMenuItem.Click, AddressOf Me.MyMenuItems_Click
        AddHandler MyMenuItem.MouseEnter, AddressOf MyMenuItems_Enter
        Namelist.Items.Add(MyMenuItem)
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900