treeview的一个比较有意思的问题 我想把一些窗体类名存在treeview的节点的某个地方 ,当我点击到某个节点是就创建哪个窗体 ,但是我不想一个一个的去判断文本去 比如 if node.text='' then 那样现的很傻以前见有人把窗体类藏在node的tag中 在C#中如何实现呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 原理是跟比较Text一样的吧if(e.TreeNote.Tag != null){swith(e.TreeNote.Tag.ToString()){ case "frm_OK" …… break; ……}} 使用反射,根据保存的窗体类名创建窗体对象显示Form form = Activator.CreateInstance(assemblyName, typeName) as Form;form.Show.....只要你保存了 assemblyName, typeName 就可以这样做了 上面的CreateInstance后需要Unwrap一下,自己查一下帮助手册 这个地方显然是要用反射来实现RTTI。根据窗体类名动态创建窗体类实例 动态创建使用反射生成一个窗体:private void button1_Click(object sender, System.EventArgs e){ Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication.dll"); Type TypeToLoad= assm.GetType("WindowsApplication.Form1"); object obj; obj = Activator.CreateInstance(TypeToLoad); Form formToShow = null; formToShow = (Form)obj; formToShow.Show(); }建议把创建好的窗体关联到TreeView。比如treeNode.Tag = form1;在选中节点时if(treeNode.Tag as System.Windows.Forms.Form){ ((Form)treeNode.Tag).Show();} 我新学c#时间不长 不明白 Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication.dll"); Type TypeToLoad= assm.GetType("WindowsApplication.Form1"); 是什么意思请zhzuo(秋枫) 大哥解释一下好吗 C# Winform 新手不知道选择哪种控件,求指点 C#数组中找到绝对值最大的是个数 在MaskedTextBox中怎么控制输入范围在00:00:00到23:59:59间。 C#高手求救,关于保存DataList中的数据 stackalloc分配的空间会初始化吗? pread的标签页 一个界面设计问题 Invoke参数计数不匹配,求大神指导!!! 水晶报表的一个超难问题! 求救c#的基本问题 如何写C#应用程序去遍历(查找)注册表中的某个键值? 急急急,那位高手帮我看一下下面这个问题。
if(e.TreeNote.Tag != null)
{
swith(e.TreeNote.Tag.ToString())
{
case "frm_OK"
……
break;
……
}
}
使用反射生成一个窗体:
private void button1_Click(object sender, System.EventArgs e)
{
Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication.dll");
Type TypeToLoad= assm.GetType("WindowsApplication.Form1");
object obj;
obj = Activator.CreateInstance(TypeToLoad);
Form formToShow = null;
formToShow = (Form)obj;
formToShow.Show();
}
建议把创建好的窗体关联到TreeView。
比如
treeNode.Tag = form1;
在选中节点时
if(treeNode.Tag as System.Windows.Forms.Form)
{
((Form)treeNode.Tag).Show();
}
不明白 Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication.dll");
Type TypeToLoad= assm.GetType("WindowsApplication.Form1");
是什么意思
请zhzuo(秋枫) 大哥解释一下好吗