Foros del Web » Programación para mayores de 30 ;) » .NET »

Regresarse desde un form a otro

Estas en el tema de Regresarse desde un form a otro en el foro de .NET en Foros del Web. Consulta de una nula en .net: Tengo 2 forms: form1 y form2; para poder llegar al form2 tengo que pasar por el form1. hasta ahi ...
  #1 (permalink)  
Antiguo 30/08/2008, 01:08
 
Fecha de Ingreso: abril-2001
Mensajes: 46
Antigüedad: 23 años
Puntos: 0
Regresarse desde un form a otro

Consulta de una nula en .net:


Tengo 2 forms: form1 y form2; para poder llegar al form2 tengo que pasar por el form1. hasta ahi OK, pero ahora quiero regresarme desde el form2 al form1 con un boton volver o simplemente con apretar un boton aceptar que existe dentro del form2. Me pueden explicar como hacerlo?

Agradeciendo de antemano,
__________________
Alice
  #2 (permalink)  
Antiguo 30/08/2008, 09:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Regresarse desde un form a otro

Existen muchas formas de hacerlo, pero cuál es la correcta depende de cómo el Form1 invoca al Form2, y quién invoca al Form1.

1. Suponiendo que el Form1 es el inicial y al invocar al form2, se oculta (.Hide()). En ese caso lo mejor es llamar al 2 con un .ShowDialog, para que el proceso del Form1 quede en espera y se reactive al cerrarse el Form2 (.Show()). Relativamente práctico, pero ineficiente.

2. Suponiendo que el Form1 muere al llamar al Form2, la única forma de volver es que el Form2 cree una instancia de Form1 y lo invoque, para luego cerrarse. Es un completo desperdicio de recursos, pero funciona.

3. Suponiendo que ambos existen como hijos de un Form principal, el cual tiene la propiedad .Mdi en True, la forma de llamarlo es enviando un mensaje al form padre para que invoque al Form1 hijo y luego cerrar al Form2 (y viceversa). Es una de las más eficientes y se hace con la función CType(): CType(Widows.Forms.Form, FormPadre).MetodoInvocarForm1().

4. Una cuarta forma es haciendo que ambos forms existan todo el tiempo instanciados en la clase creadora de la aplciación, y simplemente se los active o desactive (.Hide() y .Show()) a través de los eventos de sus botones respectivos.

¿Se entiende el planteo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:14.