Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Windows Forms C# - Com dois forms

Olá, bom dia! Eu criei no Windows Forms um botão que chama outro form, ficando dois forms na tela, sobrepondo o outro, mas eu gostaria que assim que chamasse o segundo form, o primeiro fosse fechado, tipo com close(); ou hide(); Como posso fazer isso?

 private void button1_Click(object sender, EventArgs e)
        {
            Form2 OutroForm = new Form2();
            OutroForm.ShowDialog();
        }

Obrigada!

4 respostas

Oi Dyane, tudo bom?

Já tentou o método Close? Ficaria algo como:

private void button1_Click(object sender, EventArgs e)
        {
            Form2 OutroForm = new Form2();
            OutroForm.ShowDialog();

        this.Close();        
        }

Oi André, bom dia! Obrigada pela ajuda, mas utilizei o this.Close(); da mesma forma que voce utilizou, mas mesmo assim não deu certo. Existe outra maneira? Obrigada!

solução!

Bom dia Dyane =)

O que acontece quando você usa o Close? Nada?

Uma outra abordagem é esconder o primeiro formulário pela propriedade Visible:

private void button1_Click(object sender, EventArgs e)
        {
            Form2 OutroForm = new Form2();

            this.Visible=false;

            OutroForm.ShowDialog();
        }

Lembrando que você vai precisar redefinir essa propriedade para true quando quiser que o form1 volte a aparecer.

Olá André :) Tudo bem ? Deu super certo! Com o modo Close(); não deu muito certo, talvez eu tenha errado em alguma coisa. Mas agora tentei com Visible e deu super certo, voce me salvou em um projeto da facul hahaha

 private void button1_Click(object sender, EventArgs e)
        {
            Form2 outroForm = new Form2();

            this.Visible = false;

            outroForm.ShowDialog();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form1 OutroForm = new Form1();

            this.Visible = false;

            OutroForm.Visible = true;
        }

Obrigada! E boa tarde :)