Visual Basic - Controlar SetFocus con tecla Enter

Life is soft - evento anual de software empresarial
 
Vista:

Controlar SetFocus con tecla Enter

Publicado por Adriana (13 intervenciones) el 31/08/2005 23:59:35
Hola...Me gustaria controlar el Set Focus a traves de la tecla enter...que yo presione esa tecla y se me vaya desplazando por las cajas de texto en el orden correspondiente de llenado de un formulario...Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Controlar SetFocus con tecla Enter

Publicado por Felix Cen (10 intervenciones) el 01/09/2005 00:14:32
Hola, es muy sencilla tu problema, escribe esta instrucción en el evento KeyPress de la caja de texto
Private sub TxT_CAJA_TEXTO_KEY_PRESS (KeyAscii as Integer)
if KeyAscii = 13 then
TXT_PROXIMA_CAJA.Setfocus
end if
endsub

saludo
PD KeyAscii = 13, 13 en codigo ascii es el botón ENTER
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por Adriana (13 intervenciones) el 01/09/2005 00:27:27
Pero mira eso lo tendre que escribir en todas las cajas de textos...porque tambien quisiera que por ejemplo en la ultima caja de texto al precionar enter me fuera a el boton "ACEPTAR" y luega e dar enter en aceptar me fuera a "GUARDAR" me explico?? gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por Felix Cen (10 intervenciones) el 01/09/2005 00:35:02
Bueno creo que si tiene que hacerlo en toda las cajas de texto, porque el evento ocurre en esa caja de texto (Bueno asi lo hago yo), y la misma instruccion para mandar el foco a los botones, Btn_Aceptar.setfocus,

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por Adriana (13 intervenciones) el 01/09/2005 02:02:42
Ok Gracias entonces por tu ayuda..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Controlar SetFocus con tecla Enter

Publicado por SuNcO (599 intervenciones) el 01/09/2005 04:47:20
Puedes poner los nombres de las Cajas con Index. Por ejemplo 10 Cajas de Caja(1), Caja(2)...

Private Sub Caja_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
' La siguiente linea es para que no haga el sonido de Error de Windows
KeyAscii = 0
If Index < 10 Then
Caja(Index + 1).SetFocus
Else
Guardar.SetFocus
End If
End If
End Sub

Lo utilizo mucho en mis Sistemas para comodidad del Usuario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por Adriana (13 intervenciones) el 01/09/2005 21:15:25
Disculpa pero ahora estoy empezando a programar soy una novata...le veo logica mas o menos a o que me explicas, pero si no te toma mucho tiepo me gustaria un condigo mas explicito...tomando en cuenta que tengo 4 cajas de texto, luego de llanar a ultima caja, la tecla enter presione el boton "Guardar" y luego de guardar el enter presione "Nuevo Registro"....Me explico...Gracias por tu ayuda...Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por ivan (463 intervenciones) el 02/09/2005 02:56:43
Supongamos que tienes 4 cajas de texto y un botón

Para cada caja de texto usas el evento KeyPress

Para el Text1
Private Sub Text1_KeyPress (Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 or KeyAscii=9 then
Text2.SetFocus
else
If KeyAscii=27 then
'pudieras poner que se salga del módulo
Endif
endif
End Sub

Para el Text2
Private Sub Text2_KeyPress (Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 or KeyAscii=9 then
Text3.SetFocus
else
If KeyAscii=27 then
Text1.SetFocus
Endif
endif
End Sub

Para el Text3
Private Sub Text2_KeyPress (Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 or KeyAscii=9 then
Text4.SetFocus
else
If KeyAscii=27 then
Text2.SetFocus
Endif
endif
End Sub

Para el Text4
Private Sub Text4_KeyPress (Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 or KeyAscii=9 then
Command1_Click
' para que ejecute el código de pulsar el botón.... o si acaso
' quieres mandar el foco pues pon Command1.SetFocus
else
If KeyAscii=27 then
Text3.SetFocus
Endif
endif
End Sub

Lo del 9 en la pregunta IF es para que igual te funcione el tabulador como enter... pero para esto debes de poner la propiedad TABINDEX o TABSTOP.. no me acuerdo cual era.... de todos tus componentes como FALSE

Esto último no estoy muy seguro... pero ponlo por si acaso ves que no te funciona bien...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por jorge (18 intervenciones) el 02/09/2005 02:29:36
Utiliza TextBox en lugar de los Text. Comprobaras qeu hacieendo Enter en uno de ellso se ira al sigueinte Tab sin necesidad de escribir codigo. suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por Cecilia Colalongo (3116 intervenciones) el 02/09/2005 03:44:47
Coloca la propiedad KeyPreview del Form en True y agrega éste código:

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SendKeys "{Tab}"
KeyAscii = 0
End If
End Sub

Reemplaza cada pulsación de Enter por Tab (que se utiliza para cambiar de foco entre objetos). No importa la cantidad de cuadros de texto o botones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por Adriana (13 intervenciones) el 02/09/2005 04:10:50
ESPECTACULAR....Increible las sugerencias son muy buenas...Gracias a todos...Saludos..Tambien estoy a la orden...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar SetFocus con tecla Enter

Publicado por Daniel Perez (3 intervenciones) el 10/05/2006 12:01:31
Se nota cuando alguien domina un tema
Muchas gracias por tu ayuda
No sabes cuanto trabajos me ahorraste

Saludos
Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar