我需要在按钮点击事件上关闭一个表单。在我的例子中我隐藏了表单。认为这不是一个好方法。当我只做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窗体的最佳方法。
答案 0 :(得分:3)
如果您想关闭表单,请致电.Close()
。
当我只做Close()时,表单将永久处理,需要重新运行程序才能检索它。
当您关闭表单时,我假设您没有引用它。如果是这样,您可以通过构造函数(var form = new MyForm();
)创建表单的新副本。
否则,在关闭表单后,我相信您应该可以再次致电.Show()
,只要某些内容仍然可以引用您的表单。
答案 1 :(得分:-1)
我认为,最好的方法是:
private void buttonClose_Click(object sender, EventArgs e)
{
this.Hide();
}