C# 将字符串(Formname)转换为System.window.form
我在一个C#windows项目中工作。所有菜单项都存储在一个SQL表中,其中有Title、FormName和DLLName列 单击菜单项时,我将获取相应的FormName和DLLName。 现在我需要将这个字符串(DLLName&FormName)转换到窗口窗体并显示它 你能帮我把这个字符串转换成窗口格式吗C# 将字符串(Formname)转换为System.window.form,c#,winforms,C#,Winforms,我在一个C#windows项目中工作。所有菜单项都存储在一个SQL表中,其中有Title、FormName和DLLName列 单击菜单项时,我将获取相应的FormName和DLLName。 现在我需要将这个字符串(DLLName&FormName)转换到窗口窗体并显示它 你能帮我把这个字符串转换成窗口格式吗 提前感谢您需要使用反射 假设您有一个ClassLibrary1.dll,其中包含Form1的定义。我刚刚测试了这段代码及其工作原理: using System.Reflection; pr
提前感谢您需要使用反射 假设您有一个ClassLibrary1.dll,其中包含Form1的定义。我刚刚测试了这段代码及其工作原理:
using System.Reflection;
private void LoadNewForm(string formName)
{
try
{
Assembly assembly = Assembly.LoadFile("c:\\ClassLibrary1.dll");
Type type = assembly.GetType(formName);
Form frm = (Form) Activator.CreateInstance(type);
frm.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void button1_Click(object sender, EventArgs e)
{
LoadNewForm("ClassLibrary1.Form1");
}
我想这可能会帮助你:
string s = DLLName + FormName;
Type myClassType = Type.GetType(s);
Form form = (Form)Activator.CreateInstance(typeof(myClassType))
让我检查一下是否正确:您有一些DLL,其中包含从
表单继承的自定义类。您想在运行时从DLL加载该类型,然后使用指定的名称创建该类型的实例并显示该表单吗?