none
establecer foco en un textbox que ya tiene informacion RRS feed

  • Pregunta

  • Ola como estan.

    hize uso de una informacion de leandro para cargar formularios padres atraves de formularios hijos con el uso de las interfaces.

    bueno.. cuando selecciono en el datagridview(del formulario hijo) y le paso informacion al formulario padre, esta informacion la cargo en un textbox del formulario padre, y le establezco el foco en este textbox para que el usuario pueda ejecutar una busqueda con esta informacion al presionar enter.

    pero cuando le establezco el foco, el foco se va para el boton que esta al lado del textbox, no se como establecerle el foco a un textbox que ya esta cargado con informacion.

    este es el codigo

     public  void GetByName(Producto ent)
            {

                txtCodigo.Text = ent.GetIdProducto();
                txtCodigo.select();

    }

    miren es asi como queda, no establece el foco en el mismo textbox, sino que lo corre al boton adyacente al textbox.yo necesito que el foco quede alli en el textbox

    lunes, 1 de mayo de 2017 23:06

Respuestas

  • hola

    Entiendo que GetByName() esta en al form padre y es el que expones por medio de la interfaz para pasar los datos

    public  void GetByName(Producto ent)
    {
       txtCodigo.Text = ent.GetIdProducto();
    
        txtCodigo.Focus();
    }


    No queda claro porque usas un GetIdProducto() ? porque un metodo como Get ? no seria mejor una propiedad

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta joseblanco6663 martes, 2 de mayo de 2017 0:20
    lunes, 1 de mayo de 2017 23:28
  • Hola,

    Primero asegúrate de tener el tabindex de tu txtCodigo con valor 0:

    luego, colocar la propiedad focus:

     public  void GetByName(Producto ent)
            {
                txtCodigo.Text = ent.GetIdProducto();
                txtCodigo.Focus();
                txtCodigo.selectAll();
            }
    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta joseblanco6663 martes, 2 de mayo de 2017 0:20
    lunes, 1 de mayo de 2017 23:35
  • Hola joseblanco6663

    Si ya le pusiste como tabindex el número 0 y el focus().. uhmmm prueba colocando en tu método Activated del formulario?

    private void Form1_Activated(object sender, EventArgs e)        {
        txtCodigo.Focus();
    }

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta joseblanco6663 martes, 2 de mayo de 2017 0:20
    martes, 2 de mayo de 2017 0:10
  • ya lo pude soluconar..

    lo hize en el mismo boton que ejectua al formulario hijo para la busqueda

    lo hize asi:

     private void btmBuscarCodigo_Click(object sender, EventArgs e)
            {


                FrmBuscarProducto frm = new FrmBuscarProducto(this);
                frm.ShowDialog();
                txtCodigo.Focus();
            }

    asi cuando viene cargado .. aun mantiene el foco.

    Gracias por sus ayudas 

    • Marcado como respuesta joseblanco6663 martes, 2 de mayo de 2017 0:20
    martes, 2 de mayo de 2017 0:19

Todas las respuestas

  • hola

    Entiendo que GetByName() esta en al form padre y es el que expones por medio de la interfaz para pasar los datos

    public  void GetByName(Producto ent)
    {
       txtCodigo.Text = ent.GetIdProducto();
    
        txtCodigo.Focus();
    }


    No queda claro porque usas un GetIdProducto() ? porque un metodo como Get ? no seria mejor una propiedad

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta joseblanco6663 martes, 2 de mayo de 2017 0:20
    lunes, 1 de mayo de 2017 23:28
  • Hola,

    Primero asegúrate de tener el tabindex de tu txtCodigo con valor 0:

    luego, colocar la propiedad focus:

     public  void GetByName(Producto ent)
            {
                txtCodigo.Text = ent.GetIdProducto();
                txtCodigo.Focus();
                txtCodigo.selectAll();
            }
    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta joseblanco6663 martes, 2 de mayo de 2017 0:20
    lunes, 1 de mayo de 2017 23:35
  • ola gracias..

    hize lo que me dijo lenadro y aun bryan y aun sigue por defecto seleccionaando el boton...=(

    martes, 2 de mayo de 2017 0:04
  • Hola joseblanco6663

    Si ya le pusiste como tabindex el número 0 y el focus().. uhmmm prueba colocando en tu método Activated del formulario?

    private void Form1_Activated(object sender, EventArgs e)        {
        txtCodigo.Focus();
    }

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta joseblanco6663 martes, 2 de mayo de 2017 0:20
    martes, 2 de mayo de 2017 0:10
  • ya lo pude soluconar..

    lo hize en el mismo boton que ejectua al formulario hijo para la busqueda

    lo hize asi:

     private void btmBuscarCodigo_Click(object sender, EventArgs e)
            {


                FrmBuscarProducto frm = new FrmBuscarProducto(this);
                frm.ShowDialog();
                txtCodigo.Focus();
            }

    asi cuando viene cargado .. aun mantiene el foco.

    Gracias por sus ayudas 

    • Marcado como respuesta joseblanco6663 martes, 2 de mayo de 2017 0:20
    martes, 2 de mayo de 2017 0:19
  • Hola,

    Primero asegúrate de tener el tabindex de tu txtCodigo con valor 0:

    luego, colocar la propiedad focus:

     public  void GetByName(Producto ent)
            {
                txtCodigo.Text = ent.GetIdProducto();
                txtCodigo.Focus();
                txtCodigo.selectAll();
            }
    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    Leandro buenos dias.

    Se puede dal el foco a un ToolTripTextBox al abrir el formulario o luego?

    Saludos,

    Jaime


    saludos.

    lunes, 26 de noviembre de 2018 16:22