Usuário com melhor resposta
trazendo um formulário para frente

Pergunta
-
Gostaria de saber como faço para verificar se um formulario já está em segundo plano se estiver trazer para frente se não criar, utilizando o bringToFront() eu consigo trazer o formulário para frente mas não sei como verificar se já existe o formulario. Agradeço a atenção de todos.
Respostas
-
Caro SON1442, isso ocorre porque quando fechou o formulário ainda existe uma variável referenciando o mesmo, sendo assim precisamos "limpar" a variável para que o código funcione adequadamente, você pode resolver essa questão usando o exemplo abaixo:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Teste47 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Form2 form2; private void button1_Click(object sender, EventArgs e) { if (form2 == null) { form2 = new Form2(); form2.FormClosed += new FormClosedEventHandler(form2_FormClosed); form2.Show(); } else { form2.BringToFront(); } } private void form2_FormClosed(object sender, FormClosedEventArgs e) { form2 = null; } } }
AtenciosamenteCarlos Adriano Portes
Carlos Adriano Portes - Ajude a tornar o fórum mais organizado, se foi últil marque como resposta.- Sugerido como Resposta Danimar Ribeiro quarta-feira, 24 de fevereiro de 2010 11:56
- Marcado como Resposta SON1442 quarta-feira, 24 de fevereiro de 2010 12:45
Todas as Respostas
-
Olá SON1442,Você poderia resolver seu problema usando algo como no exemplo abaixo:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Teste10 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Form2 form2; private void button1_Click(object sender, EventArgs e) { if (form2 == null) { form2 = new Form2(); form2.Show(); } else { form2.BringToFront(); } } } }
Atenciosamente
Carlos Adriano Portes - Ajude a tornar o fórum mais organizado, se foi últil marque como resposta. -
Carlos,
Primeiro eu agradeço pela ajuda, foi de muita valia. Deu certinho enquanto o formulario está aberto, mas quando eu fecho o formulario e tendo abrir ele novamente não dá certo ele não abre. O que pode ser? Valeu mesmo, pela ajuda.
JESUS É O SENHOR!!!! -
Caro SON1442, isso ocorre porque quando fechou o formulário ainda existe uma variável referenciando o mesmo, sendo assim precisamos "limpar" a variável para que o código funcione adequadamente, você pode resolver essa questão usando o exemplo abaixo:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Teste47 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Form2 form2; private void button1_Click(object sender, EventArgs e) { if (form2 == null) { form2 = new Form2(); form2.FormClosed += new FormClosedEventHandler(form2_FormClosed); form2.Show(); } else { form2.BringToFront(); } } private void form2_FormClosed(object sender, FormClosedEventArgs e) { form2 = null; } } }
AtenciosamenteCarlos Adriano Portes
Carlos Adriano Portes - Ajude a tornar o fórum mais organizado, se foi últil marque como resposta.- Sugerido como Resposta Danimar Ribeiro quarta-feira, 24 de fevereiro de 2010 11:56
- Marcado como Resposta SON1442 quarta-feira, 24 de fevereiro de 2010 12:45