Comunidad Gambas-es
[SOLUCIONADO] Se me repite el evento LostFocus() en TextBox - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forumdisplay.php?fid=3)
+--- Foro: General (https://gambas-es.org/forumdisplay.php?fid=4)
+--- Tema: [SOLUCIONADO] Se me repite el evento LostFocus() en TextBox (/showthread.php?tid=149)



Se me repite el evento LostFocus() en TextBox - gambafeliz - 19-10-2020

Hola,

Por favor, necesito que alguien me aclare el por que me pasa lo siguiente, gracias por adelantado.

Defino:
Tengo 4 cajas de texto (TextBox1, 2, 3, 4) y en la propiedad Group he puesto txtGroup ahora creo el evento LostFocus() algo así txtGroup_LostFocus().

Ocurrencia:
Parto desde la caja TextBox1 y hago un TAB de teclado para ir a la caja TextBox2 y lo que ocurre cuando analizo este evento es que se produce lo siguiente en el LostFocus
Código:
Dim txt As TextBox = Last
Message.Info(txt.Name)
Y lo que ocurre es que txt.Name me dice TextBox1, que entiendo que esta bien, pero cuando sigo el código (F8) me dice TextBox2 que nunca debería decirlo por que es el que recibe el foco y no del que se va.

¿Por favor alguien sería tan amable de explicalo?

Gracias.

Nota: Acabo de ver esto:
http://gambaswiki.org/wiki/comp/gb.qt4/control/.lostfocus?l=es

Y he entendido por lo que he leído que se produce LostFocus siempre antes de un GotFocus, ¿Es correcto lo que he entendido?, ¿Por qué?

=============Solucionado=========================================
Gambaso de novato, hasta vergüenza me da Smile

El problema surge por lo siguiente. Estaba programando en mi programa principal y estaba haciendo una validación con LostFocus. Y como tengo una malisima costumbre de informarme con:

Message.Info(String) ' Muy mal no hagan esto, esto es de novatos como yo. Mejor usen Print String

En mi programa se repetía LostFocus y cree un programa de pruebas con el mismo código de Message en LostFocus pues siempre se repite LostFocus por que al pasar del TextBox1 y salir Message pues como estaba el puntero ya en TextBox2 pues vuelve a salir Message por que se produce de forma lógica el LostFocus.

Solución pongan Print para saber datos de la depuración y no Message.


RE: Se me repite el evento LostFocus() en TextBox - jsbsan - 19-10-2020

No entiendo ¿que quieres hacer?


RE: Se me repite el evento LostFocus() en TextBox - gambafeliz - 19-10-2020

Yo intento hacer una validación en el LostFocus.

Es simple: en un formulario pones 2 TextBox y en su propiedad Group (de ambos) pones txtGroup y haces un seguimiento en el evento txtGroup_LostFocus y en el primer TextBox1 pulsa TAB de tu teclado para desplazarte al TextBox2. Y lo que ocurre en el LostFocus es que Last.Name (esto dentro de LostFocus) pasa primero TextBox1 y despues TextBox2, y esto es un problema para el código de validación.


RE: Se me repite el evento LostFocus() en TextBox - vuott - 19-10-2020

(19-10-2020, 19:33)gambafeliz escribió:  lo que ocurre en el LostFocus es que Last.Name (esto dentro de LostFocus) pasa primero TextBox1 y despues TextBox2

A mi no ocurre.


RE: Se me repite el evento LostFocus() en TextBox - gambafeliz - 19-10-2020

(19-10-2020, 20:06)vuott escribió:  
(19-10-2020, 19:33)gambafeliz escribió:  lo que ocurre en el LostFocus es que Last.Name (esto dentro de LostFocus) pasa primero TextBox1 y despues TextBox2

A mi no ocurre.

Y entonces que opinas es quizás un bug o es algo pensado. En fin que opinas. Por otra parte si esto es así, para validar que evento usáis por lo general.

Gracias


RE: Se me repite el evento LostFocus() en TextBox - gambafeliz - 19-10-2020

(19-10-2020, 20:06)vuott escribió:  
(19-10-2020, 19:33)gambafeliz escribió:  lo que ocurre en el LostFocus es que Last.Name (esto dentro de LostFocus) pasa primero TextBox1 y despues TextBox2

A mi no ocurre.

Perdón te leí mal. Oseas me dices que a ti no te ocurre Huh

Te adjunto mi proyecto de prueba para que lo mires. En este a mi me ocurre.


RE: Se me repite el evento LostFocus() en TextBox - vuott - 19-10-2020

Cuando pulso TAB de mi teclado, el cursor de TextBox1 se desplaza al TextBox2, y aparece el MessageBox que contiene el texto: TextBox1.
Luego, pulso otra vez TAB de mi teclado, y el cursor de TextBox2 se desplaza al TextBox1, y aparece el MessageBox que contiene el texto: TextBox2.

Esto.


RE: Se me repite el evento LostFocus() en TextBox - gambafeliz - 20-10-2020

Gracias vuott.

La verdad que me pones la espalda contra la pared. Y es mas estoy verdaderamente preocupado. Si esto me pasa solo a mi, entiendo que es un gran problema, donde preveo que mi Gambas va a estar completamente inutilizado ya que entiendo que hará cosas completamente ilógicas.

Por favor si no es mucha molestia. Imagina que te pasa a ti. Se te ocurre que debo hacer para intentar detectar el problema y resolverlo. Es que incluso creo que entonces es posible que Debian 10 se halla actualizado y halla cambiado algo verdaderamente importante.

En fin, por favor, ¿me ayudas?

Gracias de antemano.


RE: Se me repite el evento LostFocus() en TextBox - vuott - 20-10-2020

(20-10-2020, 07:13)gambafeliz escribió:  Se te ocurre que debo hacer para intentar detectar el problema y resolverlo.

Sinceramente, no lo sé.  Confused

(19-10-2020, 14:26)gambafeliz escribió:  tengo una malisima costumbre de informarme con:

Message.Info(String) ' Muy mal no hagan esto, esto es de novatos como yo. Mejor usen Print String

Ah, este fue el problema !
Por supuesto, siempre yo uso "Print" ...máaas raramente en entorno gráfico uso Me.Caption = "...." Big Grin