Problema Keypress y Lostfocus
Hola:
Mi problema es el siguiente (y espero no liarme mucho):
En un formulario existe un campo que lo tengo que validar antes de darle al botón aceptar.
Entonces cuando pierde le foco, mira si esta correcto y si lo esta deja seguir al foco al siguiente control, sino sale un mesaje de error y no deja salir de ese control.
También tengo activo el keypress del formulario el cual detecta las teclas Esc y ENTER y emula el funcionamiento de los botones Cancelar y Aceptar (aceptar graba en la base de datos y después cierra el formulario).
El problema viene cuando le doy a la tecla ENTER cuando estoy en el campo mencionado anteriormente (el del lostfocus). Como se ejecuta antes el Keypress del formulario, este hace que se grabe el dato que hay actualmente en ese campo sin hacer la validación (no hace el lostfocus ).
Lo solucione a medias con la propiedad tag de los controles pero me parece algo chapucera...
Si alguien ha entendido lo que acabo de contar y sabe como solucionarlo, le agradecería que compartiera esa solución.
Gracias, Miguel
Mi problema es el siguiente (y espero no liarme mucho):
En un formulario existe un campo que lo tengo que validar antes de darle al botón aceptar.
Entonces cuando pierde le foco, mira si esta correcto y si lo esta deja seguir al foco al siguiente control, sino sale un mesaje de error y no deja salir de ese control.
También tengo activo el keypress del formulario el cual detecta las teclas Esc y ENTER y emula el funcionamiento de los botones Cancelar y Aceptar (aceptar graba en la base de datos y después cierra el formulario).
El problema viene cuando le doy a la tecla ENTER cuando estoy en el campo mencionado anteriormente (el del lostfocus). Como se ejecuta antes el Keypress del formulario, este hace que se grabe el dato que hay actualmente en ese campo sin hacer la validación (no hace el lostfocus ).
Lo solucione a medias con la propiedad tag de los controles pero me parece algo chapucera...
Si alguien ha entendido lo que acabo de contar y sabe como solucionarlo, le agradecería que compartiera esa solución.
Gracias, Miguel
1 Respuesta
Respuesta de leosoft
1