zoukankan      html  css  js  c++  java
  • 反射调用功能组件

    #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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    html页面转成jsp页面之后样式变化的问题解决方法
    servlet数据库验证登录
    《基于 JSP 技术的试题库系统的设计与实现》10
    《通用试题库管理系统的设计与实现》9
    《基于多目标粒子群算法的智能组卷研究》8
    《基于改进随机抽取算法的信息论题库和智能组卷系统的设计与实现》7
    《高校试题库管理系统的设计与分析》6
    《试题库管理系统的设计与开发》
    《基于 B/S 模式的试题库管理系统的设计与实现 》笔记
    《通用试题库管理系统的设计与开发》笔记
  • 原文地址:https://www.cnblogs.com/zlf344242525/p/2254879.html
Copyright © 2011-2022 走看看