Subido por Agustin Folgado Perez

Pasar datos entre formularios

Anuncio
Pasar datos entre Formularios
Siempre hay alguien que me pregunta como se hace para pasar datos de un formulario a otro y poder utilizar dichos datos. en honor ha
esas personas veremos unas formas de como pasar los datos de un formulario a otro.
Para pasar variables o/u objetos de un formulario a otro primero crearemos un proyecto de tipo Windows Forms, al crear el proyecto
creara un Forms1 y nosotros tenemos que crear el Form2 para poder pasar de uno a otro.
INFORMAR DE ESTE ANUNCIOPRIVACIDAD
Hay varias formas de enviar datos de un formulario a otro veamos esta que es muy sencilla, imaginémonos que quiero enviar un dato del
form1 al form2. Lo que puedo hacer es asignar o crear una variable publica en el formulario en que quiero utilizar los datos.
Y en el Form2 colocare un label y le pondré lbMensaje:
Hoy solo hace falta crear una variable publica y utilizarla en el load del formulario:
Anuncios
INFORMAR DE ESTE ANUNCIOPRIVACIDAD
En el otro formulario tendré que utilizar esta variable publica y llenarla con el mensaje que quiero que me ponga en el label llamado
lbMensaje. en el Form1 tendré que insertar un botón para enviar y mostrar el mensaje en el formulario 2:
En el clic de este botón programaría esto:
Si lo corremos nos mostraría esto:
Si hacemos clic en el botón le enviaríamos nuestro mensaje al formulario 2 de esta forma:
Esta es una forma muy practica de enviar datos de un formulario a otro, pero imaginemos que lo que quiero enviar no es un tipo primitivo
sino una instancia o/u objeto de una clase, incluso una lista de la clase. El mecanismo seria el mismo, tendríamos que instanciar la clase
en el formulario donde quisiéramos utilizarla; cualquiera de las dos yo lo hare utilizando los dos tipos una lista y un objeto. Primero
crearemos una clase llamada Persona que me quedara así.
En el formulario 2 crearíamos la lista y el objeto:
Anuncios
INFORMAR DE ESTE ANUNCIOPRIVACIDAD
En el formulario 2 dibujaríamos esto:
En load del formulario 2 cargaríamos los text y el grid de esta forma:
Solo falta crear la lista y el objeto en el formulario 1, para que sean mostrados en el formulario 2. De esta forma:
Anuncios
INFORMAR DE ESTE ANUNCIOPRIVACIDAD
Si lo corremos podemos mandar los datos de un formulario a otro:
Como podemos ver de este modo seriamos capaces de hacerlo de una forma fácil. Otra forma de pasar datos de un formulario a otro
seria con el método de la clase.
Primero colocaríamos otro botón en el formulario 1 de esta forma:
Anuncios
INFORMAR DE ESTE ANUNCIOPRIVACIDAD
En el formulario 2 tendríamos que hacer esto. Hare las tres cosas al mismo tiempo mandar la variable, el objeto y la lista utilizando el
método del formulario 2:
Y en el formulario 1 tendríamos que programar esto:
Como puedes ver tengo que poner como comentario la programación del primer botón por que con esta forma de enviar los datos me da
un inconveniente que luego veremos. Tenemos que cargarle los parámetros al formulario que queremos ver, Si corremos este ejemplo
nos tendría que dar el mismo resultado de la primera vez que lo hicimos:
Anuncios
INFORMAR DE ESTE ANUNCIOPRIVACIDAD
La tercera forma de enviar datos de un formulario a otro seria sobrecargando el método, la razón por que tuve que poner como comentario
la programación del primer botón es que al realizar este método de enviar datos me obliga a colocar los parámetros si quiero ver el otro
formulario. Si quiero corregir esto tendríamos que hacer la sobrecarga del método para que no ocurra este error de esta forma. Primero
solo crearemos otro botón en le formulario 1 para poder implementar este método:
Anuncios
INFORMAR DE ESTE ANUNCIOPRIVACIDAD
En el formulario 2 tendríamos que programar esto:
De esta forma al sobrecargar el método de la clase del formulario 2 hoy es posible mostrar el formulario sin necesidad de mandar los
datos.
en el formulario 1 programaríamos esto:
Si puede ver no estoy mandando datos al formulario 2, si lo corremos nos daría esto:
¿Pero no me muestra nada, que la idea no es enviar datos de un formulario al otro formulario?. Si en teoría lo que acabamos de hacer es
lo siguiente, que la programación del segundo botón se convirtió en nuestro método sobrecargado y no el método del formulario 2, esto
servirá si queremos abrir el formulario pero sin mostrar nada ni jalar nada y la sobrecarga me servirá para enviar los datos entre
formularios.
Y por ultimo otra forma de pasar los datos entre formularios seria creando nuestro propio método, en el formulario 1 colocaríamos otro
botón para ejecutar este método.
En el formulario 2 crearíamos nuestro método de obtención de los datos, como en la sobrecarga hare un método que me pida los tres
parámetros un objeto, una lista y una variable:
Bueno nuestro método ahora no tiene que devolver ningún valor así que será de tipo void y el load del formulario 2 nos quedara así:
Y en el formulario 1 tendríamos que utilizar nuestro método de la siguiente forma:
Anuncios
Si lo correos nos daría esto:
INFORMAR DE ESTE ANUNCIOPRIVACIDAD
Bueno hoy solo queda que escojas cual método te parece mejor y utilízalo recuerda que puede haber mas métodos para hacer esto yo
solo te mostré los que mas utilizo.
https://codigofuentenet.wordpress.com/2012/07/21/pasar-datos-entre-formularios/
Descargar