如何实现动态实例化对象!比如说。要动态的打开一个窗体!

超人 2005-06-29 03:28:44
已知在C#中新建窗体

Form1 lw_dome = new Form1();
lw_dome.ShowDialog();//以模式方式打开窗体!

现在我有一百个这样的窗体,
每一个窗体的名字没有一定的规律或有规律
我把这些窗体的名字都存在数据库里的一张表里,
那么,现在我需要在点击一个按钮里说可以打开对应的窗体!!!
...全文
144 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovefootball 2005-06-29
  • 打赏
  • 举报
回复
Type t = assembly.GetType(_namespace + "." + classname, true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();
超人 2005-06-29
  • 打赏
  • 举报
回复
谢谢,。我试试看
cchon 2005-06-29
  • 打赏
  • 举报
回复
Form newForm = (Form)Assembly.Load(namespace).CreateInstance(className);
newForm.Show();
silverseven7 2005-06-29
  • 打赏
  • 举报
回复
Type t = assembly.GetType(_namespace + "." + classname, true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();Type t = assembly.GetType(_namespace + "." + classname, true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();Type t = assembly.GetType(_namespace + "." + classname, true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();Type t = assembly.GetType(_namespace + "." + classname, true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();Type t = assembly.GetType(_namespace + "." + classname, true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();
俞庆平 2005-06-29
  • 打赏
  • 举报
回复
还可以通过这种方式:
Assembly assembly = Assembly.LoadFile("装配件的全路径及名称");
Type t = assembly.GetType("名字空间.类名", true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();
飞不动 2005-06-29
  • 打赏
  • 举报
回复
反射
俞庆平 2005-06-29
  • 打赏
  • 举报
回复
Assembly assembly = Assembly.LoadFrom("您的装配件名称");
Type t = assembly.GetType("名字空间.类名", true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();
俞庆平 2005-06-29
  • 打赏
  • 举报
回复
Type t = assembly.GetType(_namespace + "." + classname, true, true);
object obj = Activator.CreateInstance(t);
if(obj is Form)
((Form)obj).Show();
zhongwanli 2005-06-29
  • 打赏
  • 举报
回复
程序集 对象
ccghghgj 2005-06-29
  • 打赏
  • 举报
回复
http://www.microsoft.com/china/msdn/archives/library/dnadvnet/html/vbnet10082002.asp

动态加载类


================================================================
此帖通过csdn小助手回复。
CSDN小助手是使用vb.net编写的CSDN论坛脱机“外挂”,她能够在
脱离IE的情况下使用Csdn论坛。程序只加载最核心的数据,所以显示更
快,产生的流量更小。

下载地址:http://qqwwee.com/csdn.rar
================================================================

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧