開くフォームの種類のみを送信してから、そのフォームを開くことができるメソッドが必要です。
これは私がこれまでに持っているものです:
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);
しかし、最初のコード スニペットで試したようにそれが可能かどうか、またそれを達成するために何をする必要があるかを知りたいです。