我们在开发项目时经常会有多人开发,将开发完成的Winform程序生成DLL,然后装载到框架

 

 

 

 

 

 

首选要引用 

using System.Reflection;

然后

复制代码
                    Assembly assembly = null; //装载初始化为null         
                    assembly = Assembly.LoadFile(Application.StartupPath + "\\Windows.dll");
                    Type[] types = assembly.GetTypes();//取Type
                    string aa = types[0].ToString().Trim();

                    foreach (Type t in types)//遍历Types数组
                    {
                       
                        if (t.BaseType == typeof(Form))//遍历Types数组中如果为Form时加到窗口中
                        {

                            Form frm = (Form)Activator.CreateInstance(t);
                            if (frm.Text == "Form3")//如DLL中有多个窗体时选择哪个加入到TabPage
                            {
                                myTabControl1.AddTabPage(frm, "form窗体3");
                            }
                            
                            //frm.Show();
                        }
                    }
复制代码
复制代码
             Assembly assembly = null; //装载初始化为null   
                    assembly = Assembly.LoadFile(Application.StartupPath + "\\Windows.dll");
                    Type[] types = assembly.GetTypes();//取Type                    
                    int i=1;
                    foreach (Type t in types)//遍历Types数组
                    {
                       
                        if (t.BaseType == typeof(Form))//遍历Types数组中如果为Form时加到窗口中
                        {

                            Form frm = (Form)Activator.CreateInstance(t);
                            if (frm.Text == "Form"+ i.ToString())//DLL为多窗体时动态加多个,当然可以不用IF
                            {
                                myTabControl1.AddTabPage(frm, "Form" + i.ToString());
                            }
                            
                            //frm.Show();
                        }
                        i++;
                    }
复制代码

 

posted on   杜店  阅读(1332)  评论(0编辑  收藏  举报
努力加载评论中...



点击右上角即可分享
微信分享提示