VB.net通过字符串打开引用类里面窗体 5
DimstrAsStringstr="myTest.Form2"'必须是命名空间+点+窗体类名DimtempAssemblyAsSystem.Reflection.Ass...
Dim str As String
str = "myTest.Form2" '必须是 命名空间+点+窗体类名
Dim tempAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim frm2 As Form = CType(tempAssembly.CreateInstance(str), Form)
frm2.Show()
但是,我在项目里面引用一个类(Test),里面有很多窗体。
怎样通过字符串打开引用类里面的窗体呢? 展开
str = "myTest.Form2" '必须是 命名空间+点+窗体类名
Dim tempAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim frm2 As Form = CType(tempAssembly.CreateInstance(str), Form)
frm2.Show()
但是,我在项目里面引用一个类(Test),里面有很多窗体。
怎样通过字符串打开引用类里面的窗体呢? 展开
2个回答
展开全部
昏暗的STR AsString
STR =“Form2的”命名空间+点+窗体类名(这里假设的命名空间为空)
昏暗的tempAssembly作为[大会] = [大会]。 GetExecutingAssembly()
昏暗的T作为类型tempAssembly.GetType(STR)
昏暗的args()AsObject =无
点心AsObject = System.Activator.CreateInstance(参数) CTYPE(O,Form2的)。显示()
STR引用测试类,而不是STR =“测试”,如果测试的命名空间是没有必要查看的是什么,然后改变为str =“命名空间测试
STR =“Form2的”命名空间+点+窗体类名(这里假设的命名空间为空)
昏暗的tempAssembly作为[大会] = [大会]。 GetExecutingAssembly()
昏暗的T作为类型tempAssembly.GetType(STR)
昏暗的args()AsObject =无
点心AsObject = System.Activator.CreateInstance(参数) CTYPE(O,Form2的)。显示()
STR引用测试类,而不是STR =“测试”,如果测试的命名空间是没有必要查看的是什么,然后改变为str =“命名空间测试
展开全部
Dim str AsString
str = "Form2" '必须是 命名空间+点+窗体类名(这里假设为命名空间为空)
Dim tempAssembly As [Assembly] = [Assembly].GetExecutingAssembly()
Dim t As Type = tempAssembly.GetType(str)
Dim args() AsObject = Nothing
Dim o AsObject = System.Activator.CreateInstance(t, args)
CType(o, Form2).Show()
因为你引用的是test类 str 那里改为str = "Test" 如果不行就要查看Test的命名空间是什么,然后改为str = "命名空间.test"
str = "Form2" '必须是 命名空间+点+窗体类名(这里假设为命名空间为空)
Dim tempAssembly As [Assembly] = [Assembly].GetExecutingAssembly()
Dim t As Type = tempAssembly.GetType(str)
Dim args() AsObject = Nothing
Dim o AsObject = System.Activator.CreateInstance(t, args)
CType(o, Form2).Show()
因为你引用的是test类 str 那里改为str = "Test" 如果不行就要查看Test的命名空间是什么,然后改为str = "命名空间.test"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询