• 反射调用功能组件


    #region 反射调用功能组件
            /// <summary>
            /// 反射组件通用事件
            /// </summary>
            public class ReflectionFunction
            {
                /// <summary>
                /// 反射调用Mdi窗体
                /// </summary>
                /// <param name="FunctionAssemblyFileName">功能程序集文件名称</param>
                /// <param name="AssemblyNamespaceAndClass">[功能程序集命名空间].[类名(窗体名)]</param>
                /// <param name="MdiParentForm">Mdi父窗体</param>
                /// <param name="functionParameter">功能模块传递参数组件r</param>
                /// <returns></returns>
                public Form LoadMdiForm(string FunctionAssemblyFileName, string AssemblyNamespaceAndClass, Form MdiParentForm, MBERP.COMMON.GlobalParms.FunctionParameter globalParms)
                {
                    return LoadForm(FunctionAssemblyFileName, AssemblyNamespaceAndClass, MdiParentForm, globalParms);
                }
                /// <summary>
                /// 反射调用模式Dialog窗体
                /// </summary>
                /// <param name="FunctionAssemblyFileName">功能程序集文件名称</param>
                /// <param name="AssemblyNamespaceAndClass">[功能程序集命名空间].[类名(窗体名)]</param>
                /// <param name="functionParameter">功能模块传递参数组件</param>
                /// <returns></returns>
                public Form LoadDialogForm(string FunctionAssemblyFileName, string AssemblyNamespaceAndClass, MBERP.COMMON.GlobalParms.FunctionParameter globalParms)
                {
                    return LoadForm(FunctionAssemblyFileName, AssemblyNamespaceAndClass, null, globalParms);
                }
                /// <summary>
                /// 反射调用Mdi窗体
                /// </summary>
                /// <param name="FunctionAssemblyFileName">功能程序集文件名称</param>
                /// <param name="AssemblyNamespaceAndClass">[功能程序集命名空间].[类名(窗体名)]</param>
                /// <param name="MdiParentForm">Mdi父窗体</param>
                /// <param name="functionParameter">功能模块传递参数组件HR.Win.FunctionParameter</param>
                /// <returns></returns>
                public Form LoadForm(string FunctionAssemblyFileName, string AssemblyNamespaceAndClass, Form MdiParentForm, MBERP.COMMON.GlobalParms.FunctionParameter globalParms)
                {
                    string AssemblyFilePath = Application.StartupPath + "\\" + FunctionAssemblyFileName;
                    if (File.Exists(AssemblyFilePath) == true)
                    {
                        System.Reflection.Assembly assembly = Assembly.LoadFile(AssemblyFilePath);
                        Type FormType = assembly.GetType(AssemblyNamespaceAndClass, true, true);
                        Form frm = FormType.InvokeMember(null,
                         System.Reflection.BindingFlags.DeclaredOnly
                        | System.Reflection.BindingFlags.Public
                        | System.Reflection.BindingFlags.NonPublic
                        | System.Reflection.BindingFlags.Instance
                        | System.Reflection.BindingFlags.CreateInstance,
                        null, null, null) as Form;
                        frm.Tag = globalParms;
                        if (MdiParentForm == null)
                        {
                            frm.StartPosition = FormStartPosition.CenterScreen;
                            Application.DoEvents();
                            //frm.ShowDialog();
                        }
                        else
                        {
                            frm.MdiParent = MdiParentForm;//如果是Mdi窗体就用frm.MdiParent
                            //frm.Show();
                            frm.WindowState = FormWindowState.Maximized;
                        }
                        if (frm.MaximizeBox == true)
                        {
                            frm.WindowState = FormWindowState.Maximized;
                        }
                        else
                        {
                            frm.WindowState = FormWindowState.Normal;
                        }
                        return frm;
                    }
                    return null;
                }
            }
            #endregion

    作者:返回主页 linux运维-loring
    出处:http://www.cnblogs.com/zlf344242525/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    php中处理汉字字符串长度:strlen和mb_strlen
    天气应用收获总结
    word文档每章的页眉页脚设置
    python资料汇总
    linux 命令——61 wget(转)
    linux 命令——58 ss(转)
    linux 命令——56 ss(转)
    linux 命令——56 netstat(转)
    linux 命令——55 traceroute(转)
    linux 命令——54 ping(转)
  • 原文地址:https://www.cnblogs.com/zlf344242525/p/2254879.html
Copyright © 2020-2023  润新知