动态打开动态窗体,winforms

动态打开动态窗体,winforms,winforms,Winforms,我的主类具有以下功能: sub openform(formnum as integer) dim obj as Form select case formnum case 0 obj=new form0 case 1 obj=new form1 case 2 obj=new form2 case 3 obj=new form3 end select obj.showdialog() end sub 因此参数“formnum”将来自命令行参数 将来我可能会有1000张表格,所以我需要写1

我的主类具有以下功能:

sub openform(formnum as integer)

dim obj as Form

select case formnum
case 0
obj=new form0
case 1
obj=new form1
case 2
obj=new form2
case 3
obj=new form3
end select

obj.showdialog()

end sub
因此参数“
formnum
”将来自命令行参数

将来我可能会有1000张表格,所以我需要写1000个案例来打开所需的表格

除此之外,还有其他方法打开表单吗

比如:

dim obj as form=application.findforms("form" & formnum)
obj.showdialog()
也许这样行吗

Dim f As Form = DirectCast(Activator.CreateInstance(Me.GetType().Assembly.FullName, "[namespace].form" & formnum), Form)
f.ShowDialog()

Welcome@Sandeep to Stack Overflow,您应该使用
{}
工具箱按钮来编写代码部分。我现在就为您做了。不,您能告诉我它的正确语法吗?它说:重载解析在这些参数中失败。它说system.runtime.remoting.objecthandle无法转换为windows.forms.Form。您可能需要调用.Unwrap()。Activator.CreateInstance(“[namespace].form”&formnum,True).Unwrap()很抱歉,它说无法加载文件或程序集。。。。(但是表单实际上存在于应用程序中(在名称空间中))