winform判断窗体是否已打开

方式1:

 foreach (Form frm in Application.OpenForms)
 {
    if (frm is youForm)
    {
       youForm.Activate();
       youForm.WindowState = FormWindowState.Normal;
       return;
     }
 }
 Form youForm = new Form();
 youForm.Show();

方式2:

Form1 F1 ;

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

方式2 个人认为 如果说子窗体很多,也得实例化很多个,总感觉不太好,求大神指点!



你可能感兴趣的:(c#,winform)