Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

Borrar este aviso
El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[SOLUCIONADO]  Se me repite el evento LostFocus() en TextBox
#1

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/c...focus?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.
#2

No entiendo ¿que quieres hacer?
#3

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.
#4

(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.

In praeterita spectando dolenter subfero.
#5

(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
#6

(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.


Archivos adjuntos
.gz miLostFocus-0.0.1.tar.gz Tamaño: 11.26 KB  Descargas: 2
#7

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.

In praeterita spectando dolenter subfero.
#8

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.
#9

(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

In praeterita spectando dolenter subfero.


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)