我想要一种方法,只能发送要打开的表单类型,然后打开该表单。
这是我到目前为止所拥有的:
private void OpenForm(Type t)
{
if (OpenedForm != null)
{
OpenedForm.Close();
}
IList list = (IList)Activator.CreateInstance(
typeof(List<>).MakeGenericType(t));
OpenedForm.MdiParent = this;
OpenedForm.Show();
OpenedForm.WindowState = FormWindowState.Maximized;
}
我知道我可以制作这样的方法:
private void OpenForm(Form frm)
{
if (OpenedForm != null)
{
OpenedForm.Close();
}
OpenedForm = frm;
OpenedForm.MdiParent = this;
OpenedForm.Show();
OpenedForm.WindowState = FormWindowState.Maximized;
}
然后简单地这样称呼它:
Form newform = new TestForm();
OpenForm(newform);
但是我很想知道是否可以像我在第一个代码片段中尝试的那样做,以及需要做些什么来完成它。