C# 如何在不创建新实例(表单)的情况下在实例(表单)之间切换?
我知道如何切换表单,但我的问题是当从C# 如何在不创建新实例(表单)的情况下在实例(表单)之间切换?,c#,winforms,instance,C#,Winforms,Instance,我知道如何切换表单,但我的问题是当从表单B切换到表单A时。它总是创建表单a的新实例 如何避免这种行为?您正在寻找的是所谓的 对于非常基本的方法,您可以采取以下措施: public partial class Form1 : Form { public static Form1 Instance { get; set; } //Create an Instance Object of your Window public Form1() { Initial
表单B
切换到表单A
时。它总是创建表单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();
}
}
请提供一些代码。您必须保留对原始表单对象的引用。任何介绍性的C#书都应该解释这一点。您可以将您的主窗体设置为父窗体,将其他窗体设置为子窗体。切换时是否应关闭主窗体?