View Code /// <summary> /// /// </summary> /// <param name="mdiParent"></param> /// <param name="frmtype"></param> /// <returns></returns> public static bool IsExistInstance(System.Windows.Forms.Form mdiParent, System.Type frmtype) { System.Windows.Forms.Form[] f = null; int i = 0; f = mdiParent.MdiChildren; for (i = 0; i <= f.Length - 1; i++) { if (f[i].GetType().Equals(frmtype)) { return true; } } return false; } /// <summary> /// /// </summary> /// <param name="mdiParent"></param> /// <param name="midChild"></param> /// <returns></returns> public static bool IsExistInstance(System.Windows.Forms.Form mdiParent, Form midChild) { System.Windows.Forms.Form[] f = null; int i = 0; f = mdiParent.MdiChildren; for (i = 0; i <= f.Length - 1; i++) { if (object.ReferenceEquals(f[i], midChild)) { return true; } } return false; } /// <summary> /// /// </summary> /// <param name="mdiParent"></param> /// <param name="frmtype"></param> /// <returns></returns> public static Form GetFormInstance(System.Windows.Forms.Form mdiParent, System.Type frmtype) { System.Windows.Forms.Form[] f = null; int i = 0; f = mdiParent.MdiChildren; for (i = 0; i <= f.Length - 1; i++) { if (f[i].GetType().Equals(frmtype)) { return f[i]; } } return null; } /// <summary> /// /// </summary> /// <param name="mdiParent"></param> /// <param name="midChild"></param> /// <returns></returns> public static Form GetFormInstance(System.Windows.Forms.Form mdiParent, Form midChild) { System.Windows.Forms.Form[] f = null; int i = 0; f = mdiParent.MdiChildren; for (i = 0; i <= f.Length - 1; i++) { if (object.ReferenceEquals(f[i], midChild)) { return f[i]; } } return null; }
調用:
//檢查指定MDI窗體的實例是否存在。 IsExistInstance(this, typeof(WindowsFormsApplication2.Form1)); //或者 IsExistInstance(this, System.Type.GetType("WindowsFormsApplication2.Form1"));
確定兩個 String 對象是否具有相同的值。
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(SYSTEM.STRING.EQUALS);k(EQUALS)&rd=true
ReferenceEquals 確定兩個對象是否是相同的實例。
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(SYSTEM.OBJECT.REFERENCEEQUALS);k(REFERENCEEQUALS)&rd=true
is 檢查對象是否與指定類型。
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(IS_CSHARPKEYWORD);k(IS)&rd=true