.NET Framework - ContextMenuStrip
Asked By Miguel
05-Oct-09 02:57 PM
Hola, estoy usando visual basic 2008, tengo 5 picturebox, y a cada de uno le
asocio un mismo contextmenustrip.
Como hago para saber de que picturebox estoy llamando al contextmenustrip???.
Saber de que picturebox active el contextmenustrip.
Les agradercia sus comentarios.
System.Windows.Forms.ContextMenuStrip
(1)
System.ComponentModel.CancelEventArgs
(1)
System.Windows.Forms.Control
(1)
CancelEventArgs
(1)
System.EventArgs
(1)
Debug.WriteLine
(1)
EventArgs
(1)
System.Object
(1)
Eduardo Alvarado Meza replied to Miguel
Hola Miguel, puedes guardar en una variable temporal a nivel del formulario
sobre cual PictureBox se desplego el menu contextual, guardarlo, y cuando se
de click en algunos de los items tan solo consultas a esta variable que te
dira para que control fue la ultima vez que se desplego. Algo asi:
Private temporal As String
Private Sub ContextMenuStrip1_Opening(ByVal sender As System.Object,
ByVal e As System.ComponentModel.CancelEventArgs) Handles
ContextMenuStrip1.Opening
temporal = (DirectCast(DirectCast(sender,
System.Windows.Forms.ContextMenuStrip).SourceControl,
System.Windows.Forms.Control).Name)
End Sub
Private Sub menuOpcion1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles menuOpcion1.Click
Debug.WriteLine("Opcion #1 sobre el control llamado:" + temporal)
End Sub
Miguel replied to Eduardo Alvarado Meza
Gracias funciono correctamente!!!
Windows.Forms.ComboBox.WmReflectCommand(Message& m) at System.Windows.Forms.ComboBox.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr
in C: \ Documents and Settings \ bgenovard \ Escritorio \ airgest.vb \ AirGest \ f_base.vb:line 35 at System.Windows.Forms.Control.OnClick(EventArgs e) at DevExpress.XtraEditors.BaseButton.OnClick(EventArgs e) at DevExpress.XtraEditors.BaseButton.OnMouseUp(MouseEventArgs e) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m
tempimage_" + scanTime + ".jpg"; img[ScanCount].SaveFile(FileName); C# Discussions System.Windows.Forms.ButtonBase.WndProc (1) System.Windows.Forms.Control.WmMouseUp (1) System.Windows.Forms.Button.OnMouseUp (1) System.Windows.Forms.Control.WndProc (1) System.Windows.Forms.Control.OnClick (1) System.Windows.Forms.Button.WndProc (1) System
My GotFocusEvent of the textbox: Private Sub EditField_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) If m_AutoKeyboard Then InPan.Enabled = True 'here comes the argumentexception End Sub I am using vs2005 StackTrace: Microsoft.AGL.WindowsCE.MSWCE.InputPanelSetEnabled() Microsoft.WindowsCE.Forms.InputPanel.set_Enabled() BBmobil.DBPanel.EditField_GotFocus() System.Windows.Forms.Control.OnGotFocus() System.Windows.Forms.Control.WnProc() System.Windows.Forms.Control._InternalWnProc() Microsoft.AGL.Forms.EVL.EnterModalDialog() System.Windows
e) in C: \ Users \ Administrator \ AppData \ Local \ Temporary Projects \ WindowsFormsApplication1 \ Form1.cs:riga 39 in System.Windows.Forms.Control.OnClick(EventArgs e) in System.Windows.Forms.Button.OnClick(EventArgs e) in System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) in System.Windows.Forms.Control.WndProc(Message& m