|
<< Click to Display Table of Contents >> Form - chamando form2, se já existe exibir trás pra frente |
![]() ![]()
|
Gostaria de saber como faço para verificar se um formulário 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 formulário
Solução
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Form2 form2;
private void button1_Click(object sender, EventArgs e)
{
if (form2 == null)
{
form2 = new Form2();
// isso informa ao form2 que quando ele fechar, deve incluir
// na lista de eventos a rotina form2_FormClosed declarada mais abaixo
form2.FormClosed += new FormClosedEventHandler(form2_FormClosed);
form2.Show();
}
else
{
// se é diferente de null, apenas tras pra cima
form2.BringToFront();
}
}
// esta rotina elimina qualquer referencia de form2 na memória (lixo)
private void form2_FormClosed(object sender, FormClosedEventArgs e)
{
form2 = null;
}
}