我要写一个类` 类里面实现窗体的跳转```
这个类:
class a()
{
public void aa( string c)
{
string dd="";
if(c=="dd")
{
dd u=new dd();
u.show();
}
}
}
当我在程序中点击按钮的时候只需要把这个方法调过去 传进一个参数` 就能实现窗体的跳转~~ 不用在按钮下面对它进行实例化`~ 其中dd是程序中的任何一个窗体的名字~(不包括当前的窗体)dd是一个变量` 也就是说我把这个类拿到任何一个程序里面都可以用`都可以实现窗体的跳转~ 现在的问题是:这个dd不能实例化` 因为它现在是一个string 类型的` 比如说,现在我有五个窗体 form1 form2 form3 form4 form5 在from1中一个按钮下调用这个方法,当参数为form3时就弹出form3
参数为form5时就弹出form5 请问我现在要怎么办才能做到呢 请教大家帮我出出主意~给个方法 谢谢了`解决了马上结帖
这个类:
class a()
{
public void aa( string c)
{
string dd="";
if(c=="dd")
{
dd u=new dd();
u.show();
}
}
}
当我在程序中点击按钮的时候只需要把这个方法调过去 传进一个参数` 就能实现窗体的跳转~~ 不用在按钮下面对它进行实例化`~ 其中dd是程序中的任何一个窗体的名字~(不包括当前的窗体)dd是一个变量` 也就是说我把这个类拿到任何一个程序里面都可以用`都可以实现窗体的跳转~ 现在的问题是:这个dd不能实例化` 因为它现在是一个string 类型的` 比如说,现在我有五个窗体 form1 form2 form3 form4 form5 在from1中一个按钮下调用这个方法,当参数为form3时就弹出form3
参数为form5时就弹出form5 请问我现在要怎么办才能做到呢 请教大家帮我出出主意~给个方法 谢谢了`解决了马上结帖
==
为什么不
public void aa(Form f)
{
public void ss(Form d)
{
}
}
我实例化d还是不行`~ 再指点一下可以不?
静态类: static class SomeStaticClass
{
public static void ShowForm(string s)
{
switch (s)
{
case "Form2":
{
Form2 fm = new Form2();
fm.Show();
break;
}
case "Form3":
{
Form3 fm = new Form3();
fm.Show();
break;
}
//...
}
}
}调用代码 private void button1_Click(object sender, EventArgs e)
{
SomeStaticClass.ShowForm("Form2");
}
string formName = "Form2"; Form form = (Form)System.Type.GetType(formNameSpac + formName).InvokeMember(
"",
BindingFlags.CreateInstance,
null,
null,
null); form.Show();
Type t = myAss.GetType(myAss.GetName().Name+"."+formName);
Form myForm=(Form)t.InvokeMember("",BindingFlags.CreateInstance,null,null,null);myForm.Show();