用反射,做法如下:
using System.Reflection;
......Assembly assembly = Assembly.GetExcutingAssembly();
Form f = assembly.GetType(Form2所在的命名空间 + ".Form2") as Form;
f.Show();
using System.Reflection;
......Assembly assembly = Assembly.GetExcutingAssembly();
Form f = assembly.GetType(Form2所在的命名空间 + ".Form2") as Form;
f.Show();
E:\OutPatientSolution\AppMain\WinMain.cs(249): 无法通过内置转换将类型“System.Type”转换为“System.Windows.Forms.Form”
namespace WindowsApplication1
{
public class Form1 : System.Windows.Forms.Form
{
//窗体里的代码就省略了
private void ShowForm()
{
Form newForm=(Form)(Activator.CreateInstanceFrom("WindowsApplication1.exe","WindowsApplication1.MyForm").Unwrap());
newForm.Show();
}
} public class MyForm:Form
{
public MyForm()
{
Text="MyForm";
}
}
}