none
Pasar el foco a un textbox desde otro formulario RRS feed

  • Pregunta

  • Buenas tardes a todos,

    Espero que me puedan ayudar estoy trancado en este tema, tengo dos formularios en un proyecto, del frmVRegistroCompras.txtRuc.text llamo al formulario frmTablaClientes del cual selecciono los datos para pasarlos al primer formulario hasta ahi todo bien, el tema es que no puedo conseguir que pase el foco al primer formulario al textbox txtCtaCble del primer formulario, y se queda el foco en el txtRuc.text,

    Espero me puedan ayudar


    Miguel Arias

    domingo, 18 de abril de 2021 23:08

Respuestas

  • Disculpa Miguel, fue mi error, no es el SelectIndex, sino el TabIndex, en las propiedades del programa, puedes configurarlo desde ahí, de esta manera, si no funciona, voy a investigar alguna otra solución.

    Saludos,

    Eric Ruiz

    martes, 20 de abril de 2021 20:50
    Moderador

Todas las respuestas

  • Hola Miguel,

    Gracias por levantar tu consulta en los foros de MSDN. Haz intentado en modificar el SelecteIndex? 

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    lunes, 19 de abril de 2021 14:13
    Moderador
  • Hola Eric Ruiz, gracias por tu apoyo, respondiéndote  sobre el uso del SelectIndex, los textbox no tienen esa propiedad o estoy equivocado, pongo el codigo con el que selecciono y manda los datos al formulario 1

    Private Sub DataGridView1_KeyDown(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyDown
            If frmRegistroVentas.Visible = True Then
                If e.KeyCode = Keys.Enter Then
                    e.SuppressKeyPress = True
                    frmRegistroVentas.txtRUC.Text = Me.DataGridView1.SelectedRows(0).Cells(0).Value()
                    frmRegistroVentas.txtRSocial.Text = Me.DataGridView1.SelectedRows(0).Cells(1).Value()
                    Me.Close()
                End If
            End If
            If frmVRegistroCompras.Visible = True Then
                If e.KeyCode = Keys.Enter Then
                    e.SuppressKeyPress = True
                    frmVRegistroCompras.txtRUC.Text = Me.DataGridView1.SelectedRows(0).Cells(0).Value()
                    frmVRegistroCompras.txtRSocial.Text = Me.DataGridView1.SelectedRows(0).Cells(1).Value()
                    Me.Close()
                End If
            End If
            frmVRegistroCompras.txtCtaCble.Focus()
        End Sub

    me podrias orientar con el uso del SELECTEINDEX, para que luego de seleccionar los datos se pase el foco al formulario 1.

    Gracias

     

    Miguel Arias

    martes, 20 de abril de 2021 1:49
  • Disculpa Miguel, fue mi error, no es el SelectIndex, sino el TabIndex, en las propiedades del programa, puedes configurarlo desde ahí, de esta manera, si no funciona, voy a investigar alguna otra solución.

    Saludos,

    Eric Ruiz

    martes, 20 de abril de 2021 20:50
    Moderador
  • Hola Eric Ruiz, gracias por responder mi pregunta, si he probado con el tabIndex, y me diste una idea no se si es la mejor solución pero funciona, lo hice de la siguiente manera:

    En el evento del formulario 2 utilice este código que serbia para pasar el foco cuando presionaba Enter:

            If e.KeyChar = ChrW(Keys.Enter) Then
                e.Handled = True
                SendKeys.Send("{TAB}")
            End If

    y lo puse en el evento del formulario2 al cerrar

        Private Sub frmTablaClientes_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
                    SendKeys.Send("{TAB}")
        End Sub

    Tal vez se podría mejorar el código, a espera tu comentario.

    Saludos,



    Miguel Arias

    miércoles, 21 de abril de 2021 21:50