我们在开发项目时经常会有多人开发,将开发完成的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++; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步