C sharp - problema al cerrar ventana

 
Vista:

problema al cerrar ventana

Publicado por BZUNIGA (14 intervenciones) el 03/05/2007 18:24:47
mi problema es el siguiente:

Tengo una ventana (form1) para validar al usuario del programa,
y tengo otra ventana (form2) , que es el menu principal del programa

el form1 es la primera en cargarse al iniciar el programa, para q el usuario se valide

hasta aqui todo va bien, sin embargo cuando el ususario es valido necesito cerrar el form1 y abrir el form 2. lo que hago e slo sigiente:

if (ds.Tables[0].Rows.Count == 0) // SI no ENCONTRO EL USUARIO
{
MessageBox.Show("USUARIO INVALIDO");
}
else // SI NO SE ENCONTRO EL USUARIO
{
form2 menu = form2();
menu.Show(); // MUESTRO EL MENU PRINCIPAL (FORM2)
this.Close(); //CIERRO LA VENTANA DE VALIDACION DE USUARIO (FORM1)
}

SIN EMBARGO AL CERRA EL FORM 1 SE CIERRA TODA LA APPLICACION.

ALGUEIN ME PUEDE DECIR LA MANERA DE CERRAR EL FORM1 SI QUE SE CIERRE EL FORM2

GRACIAS!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema al cerrar ventana

Publicado por Emiliano (43 intervenciones) el 04/05/2007 18:07:28
Hola, mi humilde opinión es que deberías hacer lo contrario. Abrir el form2, en el evento onload_form2 llamar al form1 para que se valide y si el usuario es correcto cierras form1 y se debe terminar de cargar form2 de forma normal. Caso contrario, lo que haces es Application.Exit() y terminas el programa.

Espero te ayude, sino vemos de darte otra mano!.
Slds.
Emiliano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al cerrar ventana

Publicado por Elios (13 intervenciones) el 05/05/2007 14:47:52
Te sucede porque al llamar a Form1.Close() eliminar de la memoria todo lo que este contiene, incluida la instancia "menu" de tipo Form2...

Para que esto no suceda llama a Form1.Hide() en vez de Form1.Close().

No obstante, te recomiendo que Form1 sea el programa principal y Form2 sea el formulario de validar, al que debes llamar de la forma Form2.ShowDialog() dentro del evento Form1_Load(). De esta forma hasta que el usuario no se valide no continuará el programa (al contrario de si llamas a .Show()).

Enterate un poco más sobre ShowDialog() en la ayuda, ya que este es el sistema correcto para hacer ese tipo de cosas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al cerrar ventana

Publicado por Elios (13 intervenciones) el 05/05/2007 14:48:40
>Te sucede porque al llamar a Form1.Close() se elimina de la memoria todo lo que este contiene, incluida la instancia "menu" de tipo Form2...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar