Cerrar Formularios

24/04/2009 - 23:02 por RP | Informe spam
Hola que tal, bueno escribo la siguiente porque me esta mareando esto de
trabajar con formularios en C#, lo que pasa es lo siguiente, tengo mi
formulario de Login, que al aceptar la validación, obviamente, tiene que
pasar a mi formulario principal, el detalle es que no puedo cerrar el
formulario de Login, lo único que puedo hacer es ocultarlo, pero aún sigue
ahi, ahora bien, cuando quiero cerrar todo el programa que estoy
desarrollando, no lo hace, tengo que detener par que pueda salir como
soluciono estas dos cosas.

Si me valida el código, ingreso el siguiente código:
fPrincipal ofPrincipal = new fPrincipal();
ofPrincipal.Show();
this.Hide();

Con esto me abre el principal, pero el Formulario de Login, aún sigue ahí,
oculto pero sigue, no hay forma de cerrarlo, una vez aceptado el Login??
 

Leer las respuestas

#1 RFOG
25/04/2009 - 11:41 | Informe spam
Yo eso siempre lo he resuelto de dos formas (en C++Builder pero supongo
que aquí será igual).

La más fácil es que abras desde main() el form de login y hagas todo el
proceso necesario. Cuando se cierre el form de login miras su valor de
retorno o lo que quieras y si es correcto entonces creas el principal.
Algo así:

bla bla static main()
{
fLogin=new FLogin();
fLogin.Show();
bool Ok=fLogin.IsOk;
delete fLogin;
if(Ok)
{
//ficha pral
}
else
//Piratón
}

La otra forma es algo más complicada. Te creas el form principal y lo
abres. Luego, yo lo hago en un timer exclusivo para eso, tu lo puedes
hacer como quieras, muestro el form de login como modal y si se loguean
entonces cargo las variables o lo que tenga que cargar. Es más difícil
porque el form principal tiene que saber cuando el login es correcto y
cuando no, y todos los métodos han de comprobar dicha condición.

A no ser que se te permita crear, mostrar modal y destruir otro form en el
constructor de la ficha principal, que creo que no.

On Fri, 24 Apr 2009 23:02:01 +0200, RP
wrote:

Hola que tal, bueno escribo la siguiente porque me esta mareando esto de
trabajar con formularios en C#, lo que pasa es lo siguiente, tengo mi
formulario de Login, que al aceptar la validación, obviamente, tiene que
pasar a mi formulario principal, el detalle es que no puedo cerrar el
formulario de Login, lo único que puedo hacer es ocultarlo, pero aún
sigue
ahi, ahora bien, cuando quiero cerrar todo el programa que estoy
desarrollando, no lo hace, tengo que detener par que pueda salir como
soluciono estas dos cosas.

Si me valida el código, ingreso el siguiente código:
fPrincipal ofPrincipal = new fPrincipal();
ofPrincipal.Show();
this.Hide();

Con esto me abre el principal, pero el Formulario de Login, aún sigue
ahí,
oculto pero sigue, no hay forma de cerrarlo, una vez aceptado el Login??





Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y desarrollo
La violencia en la voz no es a menudo más que el estertor agónico de la
razón en la garganta.

Preguntas similares