Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我怎样才能关闭表单?_C# - Fatal编程技术网

C# 我怎样才能关闭表单?

C# 我怎样才能关闭表单?,c#,C#,当我点击表格1中的按钮时,将显示表格2的数据。所以,我再次单击表单1中的按钮。下一个数据将添加到新的表单2中,但仍然显示之前的表单。因此,我有两个表单显示。如何在关闭表单之前显示下一个表单?为了实现这一点,您需要存储对表单的引用并使用它进行操作 您想要的-每次关闭表单2,然后再次打开: public class Form1 { private Form2 _form2; public Button1_Click(object sender, EventArgs e) {

当我点击表格1中的按钮时,将显示表格2的数据。所以,我再次单击表单1中的按钮。下一个数据将添加到新的表单2中,但仍然显示之前的表单。因此,我有两个表单显示。如何在关闭表单之前显示下一个表单?

为了实现这一点,您需要存储对表单的引用并使用它进行操作

您想要的-每次关闭
表单2
,然后再次打开:

public class Form1
{
    private Form2 _form2;

    public Button1_Click(object sender, EventArgs e)
    {
        if (_form2 != null)
        {
            _form2.Close();
        }

        _form2 = new Form2();
        _form2.Label1.Text = DateTime.Now.ToString(); // or any other actions with form
        _form2.Show();
    }
}
它将关闭以前使用的表单,并每次创建一个新表单

您还可以做什么-重用此表单并添加某种“关闭表单”按钮:


它只需在第一时间创建一个表单,然后在您单击按钮时更改其文本即可。

您能展示您迄今为止所做的尝试吗?谢谢,我已经尝试过了,它已经运行了
public class Form1
{
    private Form2 _form2;

    public Button1_Click(object sender, EventArgs e)
    {
        if (_form2 == null)
        {
            _form2 = new Form2();
            _form2.Show();
        }

        _form2.Label1.Text = DateTime.Now.ToString(); // or any other actions with form
    }

    public Button2_Click(object sender, EventArgs e) // close button
    {
        if (_form2 != null) { 
            _form2.Close(); 
            _form2 = null; 
        }
    }
}