none
Como saber en que componente se ha hecho clik derecho RRS feed

Respuestas

  • En qué componentes dices?

    Tienes un evento que todos los controles heredan que se llama Evento Control.MouseEnter.

    Según el ejemplo de enlace  puedes hacer lo siguiente (junto con mi anterior respuesta harías un único manejador de evento para todos los controles) es en el evento Load del formulario, recorrer los controles que te interesen y agregar el manejador

    Private Sub DGV_MouseEnter(sender As Object, e As System.EventArgs)
    	Label1.Text = sender.GetType().ToString() + ": MouseEnter"
    End Sub
    
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
    	' Recorrer los DataGridView
    	For Each dgv In Me.Controls.OfType(Of DataGridView)	
    		AddHandler dgv.MouseEnter, AddressOf DGV_MouseEnter ' Asignamos el manejador
    	Next
    	
    End Sub


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta JETET viernes, 8 de septiembre de 2017 16:10
    jueves, 7 de septiembre de 2017 7:12

Todas las respuestas

  • Cual seria la necesidad? si cada componente tiene el Evento clic 


    Pasa los puntos prro v:

    miércoles, 6 de septiembre de 2017 20:16
  • Lo primero gracias por responder

    La necesidad es que cuando yo haga click derecho sobre el Dvg_lupulos Ej:

    en este caso veria la columna oculta y cuando lo haga en otro dvg pues se vea las de este

    'MENU STRIP ESTOCK
        Private Sub ToolStripMenuItem3_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem3.Click
            
            Try
    
                Select Case DGV_Lupulos.Columns(8).Visible
                    Case False
                        DGV_Lupulos.Columns(8).Visible = True
                        ToolStripMenuItem3.Text = "Ocultar Columnas"
                    Case True
                        DGV_Lupulos.Columns(8).Visible = False
                        ToolStripMenuItem3.Text = "Ver Columnas Ocultas"
    
                End Select
            Catch ex As Exception
                MsgBox(ex.ToString())
            End Try
        End Sub
        'MENU STRIP ESTOCK

     
    miércoles, 6 de septiembre de 2017 21:09
  • Las columnas ocultas que quieres ver están en el mismo DATAGRIDVIEW?  

    pero ese código que me muestras es al hacer clic en un ToolStripMenuItem


    Pasa los puntos prro v:


    miércoles, 6 de septiembre de 2017 21:28
  • si, por eso quiero hacer que cuando haga click con el derecho coja el contrrol donde se echo y asi ver solo las colunas del mismo 

    tengo que poner mas codigo de otros datagridview

    Gracias

    miércoles, 6 de septiembre de 2017 21:36
  • Lo que puedes hacer es según tu dato del ToolStripMenuItem TIENES un tipo de  

    ToolStripMenu :CERVEZA 

     ToolStripMenuItem :CERVEZA 1 

    ToolStripMenuItem :CERVEZA 2

    ToolStripMenuItem :CERVEZA 3

    Según el Cerveza 1 seleccionado te carge un datagridview de todos los CERVEZA 1 ? eso es lo necesitas? o algo mas complejo tienes que ser mas explicito , si puedes unas imágenes no estaría mal 


    Pasa los puntos prro v:

    miércoles, 6 de septiembre de 2017 21:49
  • Lo que ves en la imagen es menustrip 

    que sale al dar click botn derecho 

    ahora mismo esta programado para que ponga visible columna del dgv_lupulo

    y lo que quiero que si yo hao click derecho en el dgv de arriba y doy boton de ver columnas solamente se vean de del dgv donde se a echo click

    miércoles, 6 de septiembre de 2017 22:30
  • Sigo sin entender a que columna te refieres pero si quieres hacer algo como cascada con Combobox puedes hacerlo usando databings y solo mostrar recorriendo este y mostrar lo que necesitas y asi no consultas varias veces a tu database


    Pasa los puntos prro v:

    miércoles, 6 de septiembre de 2017 22:56
  • Cheka esto :

    https://www.codeproject.com/Articles/208281/Copy-Paste-in-Datagridview-Control


    Pasa los puntos prro v:

    miércoles, 6 de septiembre de 2017 23:04
  • Hola, puedes optar por colocar un ContextMenuStrip asociado a cada DGV

    Saludos


    • Editado Marcelo PF jueves, 7 de septiembre de 2017 4:44
    jueves, 7 de septiembre de 2017 3:58
  • Hola, la forma más fácil es que uses un mismo manejador para el evento Click de los tooltstrip

    Para ello modifica así tú cabecera 

     Private Sub ToolStripMenuItem3_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem3.Click, ToolStripMenuItem2.Click, ToolStripMenuItem1.Click
            
    Luego en el parámetro sender tienes el objeto que lanzó el evento.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos



    jueves, 7 de septiembre de 2017 6:04
  • gracias por responder pero no es eso lo que quiero hacer

    jueves, 7 de septiembre de 2017 6:11
  • Mira pasa que para que me haga este mensaje tengo que dar primero click con el raton y despues al entrar de nuevo en dgv_lupulos me lanza el mensaje

    y lo que yo busco es que cuando mueva el raton por la pantalla y se coloque en lo alto de cualquier componete mede el nombre si hacer click previa mente solo moviendo el raton

    Private Sub DGV_Lupulos_CellMouseDown(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV_Lupulos.CellMouseDown
            If e.Button = Windows.Forms.MouseButtons.Right Then
                Dim valor As String
                valor = Me.ActiveControl.Name.ToString
                MsgBox(valor)
            End If
        End Sub

    jueves, 7 de septiembre de 2017 6:31
  • En qué componentes dices?

    Tienes un evento que todos los controles heredan que se llama Evento Control.MouseEnter.

    Según el ejemplo de enlace  puedes hacer lo siguiente (junto con mi anterior respuesta harías un único manejador de evento para todos los controles) es en el evento Load del formulario, recorrer los controles que te interesen y agregar el manejador

    Private Sub DGV_MouseEnter(sender As Object, e As System.EventArgs)
    	Label1.Text = sender.GetType().ToString() + ": MouseEnter"
    End Sub
    
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
    	' Recorrer los DataGridView
    	For Each dgv In Me.Controls.OfType(Of DataGridView)	
    		AddHandler dgv.MouseEnter, AddressOf DGV_MouseEnter ' Asignamos el manejador
    	Next
    	
    End Sub


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta JETET viernes, 8 de septiembre de 2017 16:10
    jueves, 7 de septiembre de 2017 7:12