Neste artigo, explicarei como verificar se um form já foi aberto em Windows Forms (C#).

Crie um projeto do tipo 
Windows Forms (C#), já virá com o Form1, adicione outroForm e deixe como Form2 mesmo, adicione também um botão no Form1 e dê o nome debtnAbrirForm2. 



Para o evento do botão criado, adicione o seguinte código: 

private void btnAbrirForm2_Click(object sender, EventArgs e)
{
    if (Application.OpenForms.OfType<Form2>().Count() > 0)
    {
        MessageBox.Show("O Form2 já está aberto!");
    }
    else
    {
        Form2 form = new Form2();
        form.Show();
    }
}

Na propriedade Application.OpenForms, podemos encontrar uma coleção de Forms que estão abertos na aplicação e é através dos métodos OfType e Count que verificamos se existe oForm2 aberto, se estiver aberto, uma mensagem é exibida. 



Espero ter ajudado a todos!

Abraços, Thiago Coelho!