Ubicar el setfocus dentro de un marco

Tengoo un fomulario q no me admite el setfocus en la primera casilla o texbox por q tengo los textbox y combobox dentro de un marco,,,

Entonces cuando aperturo el formulario tengo que hacer clic en ela casilla para poder digitar,,

Sin el marco automaticamente me ubica el cursor en el setfocus elegido

¿Hay alguna forma de que se ubique autmaticamente el cursor dentro del texbox que esta dentro de un marco?

Respuesta
1

Esto lo puedes consegrir en el evento inicio del userform

Private Sub UserForm_Initialize()
Frame1.TextBox2.SetFocus
End Sub

Si te silve no olvides valora para cerrar la pregunta 

Hola

No reporta error pero no funciono,, tengo que hacerlo manual con el maouse

Parte del código

nome ubica el cursor en la pociciom del texboxt1,, tengo que hacerlo manualmente

El framer estas en el mis userform o esto userform

¿

¿Según veo si el textbox estas vacío te manda a buscar o digitar el nombre?

Este código pertenece o esta dentro del userform

Y corresponde al comando ingresar,, usted conoce este código, me ayudo a depurar, es del hotel

Sino que organice mejor la estructura de los textbox y los encasille en un frame, le muestro una imagen

Debería posicionarme automáticamente el cursor en el primer textbox dentro del frame1 (datos personales)

No le as cambia el nombre

¿

¿Fíjate a ver si no tiene su nombre original?

2 respuestas más de otros expertos

Respuesta
3

En el evento activate pon el setfocus

Private Sub UserForm_Activate()
    TextBox1.SetFocus
End Sub

Si no se queda en el control, entonces tendría que revisar el código para ver si algún evento lo está afectando

Sal u dos

Hola dante

tengo los texbox dentro de un marco o frame...

Use la sentencia que me recomendó aneudys

Frame1.TextBox2.SetFocus

Pero no funciono

Pero tienes que poner todo tu código del userform, para revisar si algún otro evento está afectando al textbox1

Respuesta
1

Si los frames están todos habilitados con su propiedad Enabled en True y el textbox es el del 1er frame, no es necesario ni siquiera darle ninguna instrucción al evento Initialize que se ubicará solo.

El UF y cada control tiene una serie de propiedades. Asignándolas correctamente casi no necesitas programarlos. Para este caso:

1- Propiedad TabIndex: el Frame1 tendrá valor en 0, el Frame2 en 1 y así en el orden en que quieras que se activen.

Dentro del Frame, el Textbox que debe ser activado al inicio tendrá la propiedad TabIndex en 0, el siguiente en 1 y así con todos en el orden en que deben ser activados.

2- Propiedad Enabled en True para poder pasarle el foco.

3- Propiedad TabStop en True si quieres que se pueda activar un control.

Para darle el foco a un control en otro evento que no sea el de inicio (podría ser luego de limpiar el UF) se le pasa el foco sin necesidad de llamar al Frame .

Y si x alguna razón tuvieras que nombrarlos (quizás se encuentren en diferentes pestañas o UF) asegurate el nombre desde la Propiedad Caption.

En la imagen dejé marcadas las propiedades a revisar para el 1er Frame.

Si esto aclara tus dudas no olvides valorar (Buena o Excelente) ESTA respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas