C#:重复打开的表单

本文关键字:表单 | 更新日期: 2024-10-23 13:16:10

我有一个按钮来打开主窗体中的另一个窗体。我的问题是,如果我再次单击相同的按钮,它将再次打开另一个表单。

我希望如果再次单击按钮,不要打开另一个表单,而是将打开的表单定位到中心或原始起始位置。没有清除所写的文本。

C#:重复打开的表单

您可以查看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();
}