1

開くフォームの種類のみを送信してから、そのフォームを開くことができるメソッドが必要です。

これは私がこれまでに持っているものです:

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);

しかし、最初のコード スニペットで試したようにそれが可能かどうか、またそれを達成するために何をする必要があるかを知りたいです。

4

1 に答える 1