C#:复制打开的表单

时间:2016-04-21 03:52:57

标签: c# .net winforms

我只有一个按钮可以在我的主窗体中打开另一个表单。 我的问题是,如果我再次点击同一个按钮,它会再次打开另一个表单。

如果我再次点击不要打开另一个表单,而是将打开的表单定位到中心或原始起始位置,我想要该按钮。不清除书面文字。

1 个答案:

答案 0 :(得分:2)

您可以查看Application.OpenForms并查看是否有第二个表单的打开实例,显示它,否则创建第二个表单的实例并显示它:

private void button1_Click(object sender, EventArgs e)
{
    var f = Application.OpenForms.OfType<Form2>().FirstOrDefault();
    if (f == null)
    {
        f = new Form2();
        f.StartPosition = FormStartPosition.CenterScreen;
        f.Show();
    }
    f.Activate();
}