Ver la Versión Completa : [Sintaxis] Evento GotFocus
Begoguay
18 de diciembre de 2020, 17:56
Buenas foreros!!!!!
Antes de nada Feliz Navidad:papanoel::papanoel:
Una pregunta. Cuando se hace un THRUEVENTS, alguien sabe si pasa por el evento GOTFOCUS de los controles que 'refresca'?
Es que a veces me pasa que utilizo el evento GotFocus en algún control, y no tengo claro en que momentos pasa por ese evento, y a veces, pasa por él sin que yo le mande.
Alguien me podría explicar un poco detenidamente en que momento se ejecuta un evento GotFocus de un control, (lo que lleva al evento LostFocus al abandonar el control)?
O a lo mejor es mejor utilizar otro evento.
Una pista, por favor.
Un saludo.
Kuk
18 de diciembre de 2020, 18:33
@Begoguay, dicho evento se ejecuta, cuando el foco está en él, independientemente de la acción que lo hace. Puede ser tabulando, puede ser con un clic del ratón etc.
Dicho evento es mejor utilizarlo sólo para el propio control, si quieres cambiarle el color del fondo por ejemplo.
Begoguay
18 de diciembre de 2020, 18:48
Gracias Kuk, por tu respuesta.
Ya sé que se ejecuta cuando el foco está en el control, pero es que a veces el foco va a su bola, y se me pierde, y le da por irse por los controles a pasear.
Por eso, preguntaba que ¿cuándo recibe el foco un control?, aparte de cuando se le hace un SetFocus, o se llega con Tab, Enter, Click (es decir, por propio intento). Porque creo que si se hace un Thruevents, al ejecutarse este evento, también reciben el foco todos los controles por los que pasa.
No se si es asi
Mi problema, sobre todo, es que el foco se me pierde, se me despista, no lo encuentro....
Kuk
18 de diciembre de 2020, 22:23
@Begoguay, esto también depende del orden de indexado de controles.
Imagínate que tienes un botón con índice 1 y un TextBox con indice 2 que a su vez tiene el evento GotFocus activo (con código a ejecutar). También hay que destacar que un control deshabilitado (disabled) no puede tener el foco. Con lo cual, si en un momento dado el foco está sobre el botón y le hacemos MOVE POW-FALSE TO "Enabled" OF BOTON, el foco automáticamente pasará al control habilitado con indice superior. SI el 2 esta habilitado, pues el foco parará ahí Y así es como actuando sobre un control totalmente diferente podrías implícitamente invocar el código del GotFocus.
Lo del orden de indexado está en Propiedades del control->Common->TabIndex
Nitzer
19 de diciembre de 2020, 18:15
Hola, probablemente el problema no esté en el GotFocus, puede estar en algún LostFocus.
Revisa bien , a veces nos sorprende el programa, parece que vaya por libre.
Cuando me agobio mucho, lleno todo el programa de DISPLAY y me voy enterando del orden exacto, porque como bien dices, hay momentos en que parece magia :)
Hrmcobol
20 de diciembre de 2020, 21:10
Holaaa !!! Si es cierto Los programas Tienen Vida Propia !!!! jajajajaja
ABRAZO !!!!!!
BegoGuay, Sigue el consejo de Nitzer !!!!
Gusaiello
21 de diciembre de 2020, 19:22
Y yo que pensé que era el único que se la pasa poniendo display por todos lados para seguir la lógica de algunos programas.
:loco:
Begoguay
21 de diciembre de 2020, 20:59
Hola, probablemente el problema no esté en el GotFocus, puede estar en algún LostFocus.
Revisa bien , a veces nos sorprende el programa, parece que vaya por libre.
Cuando me agobio mucho, lleno todo el programa de DISPLAY y me voy enterando del orden exacto, porque como bien dices, hay momentos en que parece magia :)
Ya, si eso es lo que hago, pero queria saber si alguien tenia otra solucion que lleve menos tiempo. Asi que, visto lo visto, a seguir DISPLAYANDO:pared:
Kuk
21 de diciembre de 2020, 21:34
@Begoguay, lo mejor es no jugar con este tipo de eventos en muchos controles del mismo formulario.
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.