Visual Basic, problemas al cerrar form

Quisiera saber como hacer lo siguiente. Al cerrar un formulario que tiene varias cajas de texto, como saber si se ha producido algún cambio en alguna de ellas, en alguna caja de texto. Lo podría hacer sabiendo si se ha hecho un cambio en cada caja de texto pero esto seria muy costoso. Quisiera saber si se puecde saber si se ha hecho algún cambio en algún componente de todo el form y si es así que pase algo.

4 Respuestas

Respuesta
1
Lamento mucho informarte que cada componente insertado en tu formulario es independiente entre sí, por lo cual, tendrás que realizar una programación asociada a cada cuadro de texto, recuerda que Visual trabaja con eventos y cada modificación a cada uno de tus cuadros de texto obedece a un evento distinto, si deseas me explicas más en detalle tu problema o me mandas un pequeño ejemplo a [email protected], y te lo reviso y devuelvo en seguida, estoy en linea todo el día..
Un abrazo desde Chile.
Master
Respuesta
1
A ver...
Una forma de hacerlo.. es esta ... te tiro el estándar...
Por ejemplo
En el block de notas...
Si abrís uno... le agregas un carácter y después borras ese carácter que agregaste...
Por más que el texto sea el mismo... el programa pregunta si quieres guardar los datos...
Y así todos los programas...
Entonces... para hacerlo de manera parecida...
Seria poniendo una variable privada del formulario
private formChange as boolean
Entonces... cuando se produce algún evento text_change
Esta variable se pondría a verdadero...
Entonces se puede decidir si guardar o no...
Cualquier componente del formulario que... haya sido modificado... pondrá la variable
formChange a verdadero
...
Bueno así lo haría yo... y así lo hacen muchos programas...
Marcan una bandera ante la primera modificación.. y después preguntan si se desea guardar o no
Respuesta
1
Cuando se cierra el formulario se lanza el evento Query_Unload en el cual podemos hacer lo que queramos antes de que se descargue.
Yo de ti pondría unas variables que tuvieran toda la información en todo momento de los textboxs y que cambien cada vez que éstos cambien, entonces, en el evento Query_Unload del formulario compruebas el estado actual de cada textbox con sus variables respectivas y si alguna es diferente pues haces la acción que quieras... no sé si me sigues...
Respuesta
1
Si los controles de la forma cuando se presenta aparecen sin datos, puedes realizar un for each control in form para verificar si existen cambios en cada uno de ellos. Si la forma se presenta con los controles con información, entonces realizas un procedimiento similar pero en cada uno de los eventos de keypress de los controles de texto colocas en la propiedad tag algún valor para que detectes que fue alterado el valor del control.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas