Pasar valores entre formularios windows
Mostraré dos ejemplos, en el primero simplemente un formulario (Origen) pasará dos valores a otro (Destino). En el segundo ejemplo iremos un poco más allá, el primer formulario (OrigenDialog) le pasará a un segundo (DestinoDialog) dos valores, pero este último le devolverá a su vez al primero estos dos valores, se hayan modificado o no, siempre que se pulse en el botón Aceptar.
Aquí van las imágenes.
Código Form Origen:


- Ejemplo 2.
Para este ejemplo utilizaremos el método ShowDialog de la clase Form. Esto nos asegura que el primer formulario no se cierra sin haber cerrado previamente el segundo.
En el evento Click del botón del formuario OrigenDialog haremos lo siguiente:
1. Declararemos una variable para crear el segundo formulario.
2. Le pasaremos los valores al segundo formulario utilizando el mismo procedimiento que el primer ejemplo.
3. Declararemos una variable para saber si en el segundo formulario se ha pulsado el botón Aceptar o el Cancelar.
4. Si se pulsa Aceptar en el segundo formualario actualizaremos los textbox del primero con lo tecleado en el segundo.
5. Destruiremos el segundo formulario.

Formulario Destino.
A tener en cuenta de este formulario es que tenemos que asignar la propiedad DialogResult a los botones de Aceptar y Cancelar, asignándole al primero el valor OK y al segundo Cancel. Como se habrá entendido esta propiedad nos dirá si el usuario a aceptado o no los cambios realizados en este formulario.
El código de este segundo formulario es exactamente igual que el del primer ejemplo, solo tendremos el procedimiento de recolectar los valores pasados.
Imágenes:
Código OrigenDialog:Código DestinoDialog:


Resultado final:

Espero no haberme liado, ya saben si hay dudas escribid en comentarios.
2 comentarios:
Hola, queria hacerte una consulta, tengo un formulario hijo que llama a otro formulario no hijo,éste(formulario no hijo)debe q pasar un valor al anterior. Ojala me puedas ayudar. Trabajando con VB 2005
Oye, de entrada comentarte que he leido tu comentario de suerte, este blog ya no lo uso, ahora lo tengo en http://netcodigo.webinfo.es. Y ahora veamos si te entiendo, lo que me dices, si te he entido es que el segundo formulario debe enviar un valor al anterior, primero ¿cuando?, en cualquier caso debes asegurarte que el primero está abierto, y si es así simplemente en el evento del formulario2 en el que quieras pasar el valo, pones form1.valor = form2.valor.
No se si te he entido bien.
Publicar un comentario