获取MDI窗体的实例

依然范特西╮ 提交于 2020-01-26 11:15:57
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 对象是否具有相同的值。

/www.w3.org/1999/xhtml:sentencetext>//www.w3.org/1999/xhtml:sentencetext>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

="http://www.w3.org/1999/xhtml">is 检查对象是否与指定类型。

http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(IS_CSHARPKEYWORD);k(IS)&rd=true1999>

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!