C# Winform 반사 호출 창 열기

2482 단어 WinForm
  /// <summary>
    ///  /// <summary>
    ///           
    /// </summary>
   /// </summary>
    public class ReflectionHelper
    {
        /// <summary>
        ///        
        /// </summary>
        /// <param name="strName">     </param>
        /// <param name="AssemblyName">         </param>
        /// <param name="MdiParentForm">   </param>
        public static void CreateForm(string strName, string AssemblyName, Form MdiParentForm)
        {
            int Index = strName.LastIndexOf(".");
            string FormName = strName.Substring(23);
            if (!ShowChildForm(FormName, MdiParentForm))
            {
                string path = AssemblyName;//   Assembly    
                string name = strName; //    
                Form doc = (Form)Assembly.Load(path).CreateInstance(name);
                doc.WindowState = FormWindowState.Maximized;
                doc.MdiParent = MdiParentForm;
                doc.Show();
            }
        }

        /// <summary>
        ///          
        /// </summary>
        /// <param name="p_ChildrenFormText"></param>
        /// <param name="MdiParentForm"></param>
        /// <returns></returns>
        public static bool ShowChildForm(string p_ChildrenFormText, Form MdiParentForm)
        {
            int i;
            //            
            for (i = 0; i < MdiParentForm.MdiChildren.Length; i++)
            {
                //        Text               
                if (MdiParentForm.MdiChildren[i].Name == p_ChildrenFormText)
                {
                    //                     ,         true 
                    MdiParentForm.MdiChildren[i].Activate();
                    return true;
                }
            }
            //                        ,  false 
            return false;
        }
}

 
 
호출:
 
ReflectionHelper.CreateForm("HuishengFS.UI.Systemer.FrmUsers", "HuishengFS.UI", this);

 
 
 

좋은 웹페이지 즐겨찾기