我们在开发项目时经常会有多人开发,将开发完成的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++; }

浙公网安备 33010602011771号