小编Dav*_*acs的帖子

C#重复打开表单代码冗余

我有一个代码来打开我的表单没有任何重复,但我想为此创建一个方法,以避免代码冗余.

我的代码:

    private void form1ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        foreach (Form openForm in Application.OpenForms)
        {
            if (openForm.GetType() == typeof(form1))
            {
                openForm.Activate();
                return;
            }
        }

        form1 f1 = new form1();
        f1.MdiParent = this;
        if (!f1.IsDisposed)
            f1.Show();
    }
Run Code Online (Sandbox Code Playgroud)

我想要的是:

public void formOpener(Form form, string formName)
{
    foreach (Form openForm in Application.OpenForms)
    {
        if (openForm.GetType() == typeof(form))
        {
            openForm.Activate();
            return;
        }
    }

    form formName = new form();
    formName.MdiParent = this;
    if (!formName.IsDisposed)
        formName.Show();
}

private void form1ToolStripMenuItem_Click(object sender, EventArgs e)
{
    formOpener(form1);
} …
Run Code Online (Sandbox Code Playgroud)

c# winforms

4
推荐指数
1
解决办法
376
查看次数

标签 统计

c# ×1

winforms ×1