none
Fechar form1 e Abrir form2 RRS feed

  • Pergunta

  • Olá Pessoal,

    Eu estou com uma certa dúvida, eu já procurei em vários outros posts ou dúvidas, mas nenhum me ajudou até então,tipo eu tenho 3 Forms a FormPrincipal, FormLogin, FormPrincipal2, Quero que inicie na FormPrincipal, e já coloquei um MenuStrip para apertar e aparecer a FormLogin, e quando eu logar aparecer a FormPrincipal2, veja o que eu criei , mas não obtive sucesso:

    //Form do Login
    this.Hide();
    MessageBox.Show("Logado com sucesso");
    FrmPrincipal Abrir = new FrmPrincipal();
    Abrir.ShowDialog();
    
    //Form Que Inicia
    this.Hide();
    Login abrir = new Login();
    abrir.ShowDialog()
    
    

    Mas quando eu fecho a última form a "FrmPrincipal" ele não fecha o processo.

    quinta-feira, 27 de novembro de 2014 14:37

Respostas

  • Utilize assim:

     	    this.Hide();
                Form2 f2 = new Form2();
                f2.ShowDialog();
                this.Close();

    O this.Close, fecha o form e encerra o processo quando você chama o outro.

    Espero ter ajudado.


    Th3W4rl0ck


    quinta-feira, 27 de novembro de 2014 16:08

Todas as Respostas

  • Pedro, esclarecendo melhor...

    O que você quer fazer é fechar um form anterior quando você chamar o próximo, o modo que você está fazendo já faz isso.

    Especifique melhor sua dúvida se possível.


    Th3W4rl0ck


    quinta-feira, 27 de novembro de 2014 15:33
  • Mas eu gostaria que a Form fecha-se quando eu abrisse outra form, E Eu acho que tirando o This.Hide(), não vai esconder o Outro, mas tem outras soluções além do this.Hide e this.Visible?
    quinta-feira, 27 de novembro de 2014 15:41
  • Desse modo, você chama um form e fecha o anterior:

     this.Hide(); 
                Form2 f2 = new Form2();
                f2.ShowDialog();
    Que é exatamente o que você fez acima. O this.Hide() funciona, acabei de testar pra poder te mostrar.


    Th3W4rl0ck

    quinta-feira, 27 de novembro de 2014 15:44
  • Exatamente fecha, só que eu quero que finalize o processo, por exemplo quando eu vou fazer o debug do Projeto, eu fecho a última form, e não fecha o debug, e eu sou obrigado a usar Shift+f5, e eu acho que isso pode consumir muita Memória RAM do computador, creio eu.
    quinta-feira, 27 de novembro de 2014 15:47
  • Utilize assim:

     	    this.Hide();
                Form2 f2 = new Form2();
                f2.ShowDialog();
                this.Close();

    O this.Close, fecha o form e encerra o processo quando você chama o outro.

    Espero ter ajudado.


    Th3W4rl0ck


    quinta-feira, 27 de novembro de 2014 16:08
  • Como é que eu não pensei nisso, Perfeito!

    Obrigado cara me ajudou, Pedro.

    quinta-feira, 27 de novembro de 2014 16:14