看看这段我写的vb代码对你有没有帮助.
Dim args As Object()
'Dim a As [Assembly]
'怎样获取本程序序的AssemlyFullName呢?
Dim bf As BindingFlags = BindingFlags.GetProperty Or BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public Or BindingFlags.Static
Dim tForm As Type = Type.GetType("YourAssemblyName" + sClassName)
'sClassName 是个字符串,就是设置成你的窗体名了,你可以动态更改的啊
If (Not oCurrentWindowsForm Is Nothing) Then
oCurrentWindowsForm.Close()
End If
oCurrentWindowsForm = CType(tForm.InvokeMember("DefInstance", BindingFlags.GetProperty Or bf, Nothing, Nothing, args), cCaseHistoryBaseForm)
oCurrentWindowsForm.WindowState = FormWindowState.Maximized
oCurrentWindowsForm.Show()
oCurrentWindowsForm.Activate()
空手打得,上面错了,抱歉。
Type t = Type.GetType("WindowsApplication.Form1");
object objForm = System.Activator.CreateInstance(t);
Form form = (Form)objForm;
form.Show();