none
Pulsaciones de teclas

    Pregunta

  • Hola a todos.

    Tengo una gran laguna con respecto a las pulsaciones de tecla, sea en el formulario, controles y en el caso preciso de un los datagridview.

    Quisiera por ejemplo:

    1. Desde la celda de un datagridview activar mostrar un formulario al presionar F7 tanto con el focus como en momento de edición, o cualquier otra acción.

    2. En código que pongo a continuación, me funcionaba perfectamente hasta no sé qué o cuando. Ya no funcionan los TABs

     Private Sub SimpleButton3_Click(sender As Object, e As EventArgs) Handles SimpleButton3.Click
            Dim compro As String = "no"
            Using loform As New ProduVer
                loform.Padre = Me
                loform.ShowDialog()
            End Using
    
            If ItemGlobal.codpro IsNot Nothing Then
               
                For Each row As DataGridViewRow In DataGriDetalles.Rows
    
                    If row.Cells(0).Value = ItemGlobal.codpro Then
                        Dim msg = "Ya tiene este producto en Requisición." + " " + ItemGlobal.descri.ToUpper
                        Dim title = "Atención!!"
                        Dim style = MsgBoxStyle.Information
                        Dim response = MsgBox(msg, style, title)
                        compro = "si"
    
                    End If
                Next
                If compro = "no" Then
                    DataGriDetalles.Rows.Add(ItemGlobal.codpro, ItemGlobal.descri, ItemGlobal.med, ItemGlobal.pre)
                    SendKeys.Send("{TAB}")
                    SendKeys.Send("{TAB}")
                    SendKeys.Send("{TAB}")
                    SendKeys.Send("{TAB}")
                    SendKeys.Send("{TAB}")
                    SendKeys.Send("{TAB}")
                    SendKeys.Send("{TAB}")
                    SendKeys.Send("{TAB}")
                    DataGriDetalles.AllowUserToAddRows = False
                End If
            End If
        End Sub

    Todo funciona bien, trae el producto a la grid, pero no funcionan los TABs.

    Gracias por su ayuda.

    domingo, 18 de septiembre de 2016 14:59

Respuestas

  • Asegúrate antes de ejecutar los SendKeys que el control sobre el que quieres aplicarlos tenga el foco. Si lo que pretendes es que haga la tabulación sobre las celdas del grid sería algo como

    DataGriDetalles.Rows.Add(ItemGlobal.codpro, ItemGlobal.descri, ItemGlobal.med, ItemGlobal.pre)
    DataGriDetalles.Focus()
    SendKeys.Send("{TAB}")
    ...

    ¿Para que envías los TAB?


    Saludos, Javier J

    lunes, 19 de septiembre de 2016 6:55

Todas las respuestas

  • Asegúrate antes de ejecutar los SendKeys que el control sobre el que quieres aplicarlos tenga el foco. Si lo que pretendes es que haga la tabulación sobre las celdas del grid sería algo como

    DataGriDetalles.Rows.Add(ItemGlobal.codpro, ItemGlobal.descri, ItemGlobal.med, ItemGlobal.pre)
    DataGriDetalles.Focus()
    SendKeys.Send("{TAB}")
    ...

    ¿Para que envías los TAB?


    Saludos, Javier J

    lunes, 19 de septiembre de 2016 6:55
  • Justo lo que faltaba Javier, el enfoque.

    Muy agradecido.

    lunes, 19 de septiembre de 2016 15:27