C# 学习笔记(一) Winform利用Assembly反射动态创建窗体

时间:2022-12-25 18:56:43

1.  添加Reflection

 //添加对Reflection程序集引用
using System.Reflection; // 引用窗体创建方法CreateForm,传入参数
private void btnCreateForm_Click(object sender, EventArgs e)
{
CreateForm("testForms", "UseAssemblyToCreateForms");
}
/// <summary>
/// 1.stringFormName,要创建的窗体名称
/// 2.path,引用程序集名称
/// 3.Assembly.Load(path),该方法加载程序集
/// 4.Assembly.Load(path).CreateInstance(strName),通过传入窗体名称创建窗体,窗体名称需为 :程序集路径.窗体名称
/// </summary>
/// <param name="stringFormName"></param>
/// <param name="path"></param>
private void CreateForm(string stringFormName,string path)
{
string strName = "UseAssemblyToCreateForms.UI." + stringFormName;
string assemblyPath = path; Form form =(Form) Assembly.Load(assemblyPath).CreateInstance(strName);
form.Show();
}

引用

2.  利用Assembly动态创建窗体