• c# winform 反射创建


    &nbsp; /// <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);

  • 相关阅读:
    一次优化web项目的经历记录(一)
    自己做的萌萌哒的js宠物挂件~
    最近的两个小项目,2:Python webapp的docker镜像
    最近的两个小项目,1:在Vscode里写C/C++
    Markdown写接口文档,自动添加TOC
    使用SqlAlchemy时如何方便的取得dict数据、dumps成Json
    【漏洞预警】SaltStack远程命令执行(CVE-2020-11651、CVE-2020-11652) 植入挖矿木马的应急响应 salt-minions salt-store挖矿程序跑满cpu
    pycharm 常用配置
    gitlab + jenkins + docker + k8s
    Microservice 概念
  • 原文地址:https://www.cnblogs.com/MrLiang8080/p/9829818.html
Copyright © 2020-2023  润新知