Winform-判断窗体是否已打开

2018-9-13

方法一:不重新创建窗体

Form1 F1 ;

if(F1 == null || F1.IsDisposed)
{
   F1 = new Form1();
   F1.Show();//未打开,直接打开。
}
else
{
   F1.Activate();//已打开,获得焦点,置顶。
}



方法2:先关闭,再打开窗体

Form2 F2 ; //在方法体外声明

  if (F2 == null)
             {
                 F2 = new Form2();
                 F2.BringToFront();
                 F2.Show();
             }
             else
             {
                 if (F2.IsDisposed)
                 {
                     F2 = new Form2();
                 }
                 F2.BringToFront();
                 F2.Show();
             }