獲取MDI窗體的實例

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章