FECHAR FORM PRINCIPAL SEM ENCERRAR APLICACAO

ANDRE.ADMVB 28/03/2010 21:30:03
#338085
Boa noite pessoal,

Estou começando um projeto em C#, e me surgiu a seguinte dúvida.
Creio que seja algo bobo, mas não estou conseguindo fazer do modo que preciso.

Bom, vamos lá:

Tenho uma aplicação com o formulário principal frmLogin e um formulário MDI que será aberto caso o usuário seja validado.

O que eu preciso é, quando o usuário for validado, após abrir o MDI, fechar o formulário de login.
Tentei da seguinte forma, mas a aplicação está sendo encerrada, pois o frmLogin está como principal no Main() do Program.cs:
mdiPrincipal form = new mdiPrincipal(this);
form.Show();
this.Close();


Encontrei como alternativa, dar apenas um Hide no formulário de login, como segue:
mdiPrincipal form = new mdiPrincipal(this);
form.Show();
this.Hide();


Porém o mesmo vai ficar na memória certo?

No MDI principal o usuário tem uma opção no menu para trocar usuário (logoff).
O que eu queria é fechar o MDI e mostrar novamente o formulário de login que está [Ô]escondido[Ô], mas não consegui fazer isso.
Toda a vez que executo o código abaixo, creio que esteja criando uma nova instância do formulário, ao invés de apenas mostrar o formulário já em memória:
this.Close();
frmLogin form = new frmLogin();
form.Show();


Alguém tem alguma dica?
Obrigado.
RICART 29/03/2010 00:50:00
#338089
Vá nas propriedades do projeto e na opção Shutdown mode selecione When last form closes.

Como ele vem por padrão When star tup form closes, encerra a aplicação quando o ser form de login é fechado.



ANDRE.ADMVB 01/04/2010 20:12:02
#338398
Boa noite RICART e OCELOT,

Primeiramente agradeço aos dois pelas respostas e peço desculpas por demorar tanto para verificá-las (só altero o projeto de final de semana basicamente).

RICART, conforme foi explicado, essa opção não existe mesmo no C#, inclusive já havia ouvido falar e tal, mas nesse caso não se aplicaria.

OCELOT, entendi sua lógica, alterei o programa e testei. Funcionou tudo perfeitamente! Muito obrigado
Tópico encerrado , respostas não são mais permitidas