怎麼用一個變量調用幾個不同的類。 object form=YourForm;((Form)form).Show(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不是這個意思,並不是要通過object去調用不同的實體。我是想做個function接受一個字符串(各個窗體的名字),function通過這個字符串去顯示不同的窗體。 给你一段代码:test1.exe是你的应用程序textBox1.Text里输入要实例化的窗体类名"test1."是名字空间string inst="test1."+textBox1.Text;string AppPath= Directory.GetCurrentDirectory();string program=AppPath + @"\test1.exe";try{Assembly ls=Assembly.LoadFrom(program);object form= ls.CreateInstance(inst);(Form)form).Show();}catch(Exception err){MessageBox.Show(err.Message);} 你的意思不就是想显示指定的窗体吗?其实你不必传递字符串,直接传递窗体对象就可以了。函数中接收到这个窗体对象,就可以将其显示出来了。例如:你要显示的窗体都是FormTest类的话,你的函数就这样写:void FormShow(FormTest ff){ ff.Show();}当你想打开一个新的FormTest类的窗体时就可以这样调用:FormShow(new FormTest());这样就会打开一个新的FormTest窗体。如果你要打开的是不同的窗体,那么参数类型就用基类Form,如下:void FormShow(Form ff){ ff.Show();}这样你传入不同的窗体类型都可,如FormShow(new Form1());和FormShow(new Form2());都可以的。 to 7710703(易水寒):我是在不知道Form实体的情况下进行调用,窗体名我可以在另外的地方给。我用sheep2002的方法可以解决。不过也谢谢你! RichTextBox怎么实现替换 学了一个月C#.NET,老师留了一个扫雷的作业,有点问题,希望有高手解答 接收数据超时问题? C#操作Excel,Microsoft Jet 数据库引擎打不开文件''问题 [求助]求一个zebra条码打印机打印条码的例子 Winform下Datagridview的问题 在北京找工作很难吗? 关于REMOTING的问题!!为什么事件不能被处理?报错为由于安全问题?? ===== 多线程读写串口问题 ======= 一段简单的程序,看看毛病在哪里,可能和名称空间有关。 请问C#的前途如何? 为什么我的打包程序不能在WIN XP下安装?
我是想做個function接受一個字符串(各個窗體的名字),function通過這個
字符串去顯示不同的窗體。
test1.exe是你的应用程序
textBox1.Text里输入要实例化的窗体类名
"test1."是名字空间string inst="test1."+textBox1.Text;
string AppPath= Directory.GetCurrentDirectory();
string program=AppPath + @"\test1.exe";
try
{
Assembly ls=Assembly.LoadFrom(program);
object form= ls.CreateInstance(inst);
(Form)form).Show();
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
void FormShow(FormTest ff)
{
ff.Show();
}
当你想打开一个新的FormTest类的窗体时就可以这样调用:
FormShow(new FormTest());
这样就会打开一个新的FormTest窗体。
如果你要打开的是不同的窗体,那么参数类型就用基类Form,如下:
void FormShow(Form ff)
{
ff.Show();
}
这样你传入不同的窗体类型都可,如
FormShow(new Form1());
和FormShow(new Form2());都可以的。
我是在不知道Form实体的情况下进行调用,窗体名我可以在另外的地方给。
我用sheep2002的方法可以解决。不过也谢谢你!