Ciao. Ho un problema con un ContextMenuStrip che visualizzo alla pressione del tasto destro su delle PictureBox. Il menù è su due livelli con una voce che ne contiene tre.
Vorrei riuscire a capire qual è l'oggetto (PictureBox) che ha originato l'evento.
Al momento con questo codice riesco a farlo solo a partire dal livello superiore e non dalle tre voci
Grazie
codice:Public Class Form1 Private Sub PictureBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseUp Menu_1(PictureBox1, e) End Sub Private Sub PictureBox2_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox2.MouseUp Menu_1(PictureBox2, e) End Sub Private Sub Menu_1(sender As Object, e As MouseEventArgs) If (e.Button <> System.Windows.Forms.MouseButtons.Right) Then Return Dim tm = New ToolStripMenuItem("Livello superiore") Dim cms As New ContextMenuStrip cms.Items.Add(tm) AddHandler cms.Items(0).Click, AddressOf mnuItem_Clicked Dim item1 = New ToolStripMenuItem("Elemento 1") item1.Tag = item1.Text tm.DropDownItems.Add(item1) AddHandler item1.Click, AddressOf mnuItem_Clicked Dim item2 = New ToolStripMenuItem("Elemento 2") item2.Tag = item2.Text tm.DropDownItems.Add(item2) AddHandler item2.Click, AddressOf mnuItem_Clicked Dim item3 = New ToolStripMenuItem("Elemento 3") item3.Tag = item3.Text tm.DropDownItems.Add(item3) AddHandler item3.Click, AddressOf mnuItem_Clicked cms.Show(sender, e.Location) End Sub Private Sub mnuItem_Clicked(sender As Object, e As EventArgs) Dim MenuItem1 As ToolStripItem = sender Dim owner As ContextMenuStrip = MenuItem1.Owner Dim sourcecontrol As Control = owner.SourceControl MsgBox(sourcecontrol.Name) End Sub End Class



Rispondi quotando