>-------------------------------------------------------------------------------------------- >Public Class Form1 > Inherits System.Windows.Forms.Form > > > Private selected As String = "" > Private cm As New ContextMenu > >#Region " Windows Form Designer generated code " >#End Region > > Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load > cm.MenuItems.Add("Text1", AddressOf mnuHandler) > cm.MenuItems.Add("Text2", AddressOf mnuHandler) > cm.MenuItems.Add("Text3", AddressOf mnuHandler) > cm.MenuItems.Add("Text4", AddressOf mnuHandler) > End Sub > > Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click > > selected = "INIT" > > cm.Show(TextBox1, New Point(0, 0)) > > 'IF THE LINE BELOW IS UNCOMMENTED, THE CODE WORKS > 'MsgBox("delay") > > 'must display the clicked menuitem's text > MsgBox(selected) > End Sub > > Private Sub mnuHandler(ByVal sender As Object, ByVal e As System.EventArgs) > selected = CType(sender, MenuItem).Text > > 'this displays the correct selected menuitem's text > MsgBox(selected + " inside") > End Sub >End Class >-------------------------------------------------------------------------------------------- >