关闭获胜表格的最佳方式

时间:2016-02-20 10:46:45

标签: c# winforms

我需要在按钮点击事件上关闭一个表单。在我的例子中我隐藏了表单。认为这不是一个好方法。当我只做Close()时,表单永远处理掉,需要重新运行程序来检索它。

private void buttonClose_Click(object sender, EventArgs e)
{
    this.Close(); //closing frmCalender 
}

private void frmCalender_FormClosing(object sender, FormClosingEventArgs e)
{
    if (e.CloseReason == CloseReason.UserClosing)
    {
        this.Hide();
        e.Cancel = true;
    }
}

给我一​​个关闭C#Windows窗体的最佳方法。

2 个答案:

答案 0 :(得分:3)

如果您想关闭表单,请致电.Close()

  

当我只做Close()时,表单将永久处理,需要重新运行程序才能检索它。

当您关闭表单时,我假设您没有引用它。如果是这样,您可以通过构造函数(var form = new MyForm();)创建表单的新副本。

否则,在关闭表单后,我相信您应该可以再次致电.Show(),只要某些内容仍然可以引用您的表单。

答案 1 :(得分:-1)

我认为,最好的方法是:

private void buttonClose_Click(object sender, EventArgs e)
{
    this.Hide(); 
}