如何在实例(表单)之间切换而不创建新实例

本文关键字:实例 创建 新实例 之间 表单 | 更新日期: 2023-09-27 18:37:19

我知道如何将形式切换到形式,但我的问题是从Form B切换到Form A时。它总是创建一个新的Form A实例。

如何避免此行为?

如何在实例(表单)之间切换而不创建新实例

您要查找的内容称为单例。

对于非常基本的方法,您可以采用以下方法:

public partial class Form1 : Form
{
    public static Form1 Instance { get; set; } //Create an Instance Object of your Window
    public Form1()
    {
        InitializeComponent();
    }
    //Your call to open the Window
    private void OpenForm2()
    {
        if (Form2.Instance == null)//Check if Form2 has already been created
        {
            //if not: go create a new one !
            Form2.Instance = new Form2();
        }
        //Instance of Form2 is already created => open that one            
        Form2.Instance.Show();            
    }
}
public partial class Form2 : Form
{
    public static Form2 Instance { get; set; }
    public Form2()
    {
        InitializeComponent();
    }
}