c#,我想根据变量,打开form。

c#,我想根据mssql中的数据,打开form。给变量赋值后(值就是类的名字,类型string),如何根据这个值打开这个form呢。值已经会取了,如何打开,一点头绪都没有... c#,我想根据mssql中的数据,打开form。
给变量赋值后(值就是类的名字,类型string),如何根据这个值打开这个form呢。
值已经会取了,如何打开,一点头绪都没有。
展开
 我来答
匿名用户
2013-03-14
展开全部
对于你的问题我是一头雾水,请详细说明:(个人理解给出下面的答案)
首先你的form是一开始创建的还是后来new的,如果是一开始创建了很对的form,你可以对form的名字进行命名。通过你变量的值来查找对应的form,而且你可以在调用类中存储一个成员变量:如
Dictionary<string,Form> dic=new Dictionary<string,Form>();这里的key就是form名称或者是你mssql中的值,而form就是其对应的form窗体。
如果是后来程序对form进行new的话,那就比较简单了,直接在哪里需要的地方:Form form=new Form();
form.ShowDialog();
这是个人的理解,如果什么问题,请描述你的问题。
更多追问追答
追问
一开始创建的~
追答
那你就采用我第一种方式,将你创建的form放在一个字典里面,你查出来的值进行匹配就行呀。
if(dic.ContainsKey("变量的值"))
{
Form form=dic["变量的值"] as From;
form.ShowDialog();
}
prettyjjjun
2013-03-14 · TA获得超过736个赞
知道小有建树答主
回答量:136
采纳率:100%
帮助的人:92.7万
展开全部
主要是通过反射来动态创建对象。。

// 方法一:
System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
Object obj = asm.CreateInstance("命名空间.窗体ID", true);
System.Windows.Forms.Form myForm = obj as System.Windows.Forms.Form;
myForm.Show();

// 方法二:
System.Runtime.Remoting.ObjectHandle handler = Activator.CreateInstance(null, "命名空间.窗体ID");
Object obj = handler.Unwrap();
System.Windows.Forms.Form myForm = obj as System.Windows.Forms.Form;
myForm.Show();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hengxinyi2012
2013-03-14
知道答主
回答量:8
采纳率:0%
帮助的人:3.6万
展开全部
反射技术,好好了解一下就有解决方案了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落月Prc
2013-03-14 · TA获得超过2789个赞
知道大有可为答主
回答量:2011
采纳率:100%
帮助的人:2438万
展开全部
你需要的是不是switch,或者if else啊?
追问
  • 不是哦,不过也谢谢你

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式