我有一个按钮单击事件处理程序与下面的伪代码:C#为什么form.Close()不关闭表单?
private void btnSave_Click(object sender, EventArgs e)
{
if(txt.Text.length == 0)
this.Close();
else
// Do something else
// Some other code...
}
这仅仅是一些简单的代码,但问题是,当文本长度为零,我想关闭表单。但不是关闭表单,而是执行部分//一些其他代码。单击事件处理程序完成执行后,表单将关闭。
我知道,当我在this.Close()
之后立即输入return
时,表格将关闭,但我想知道为什么当您拨打this.Close()
时,表格不是直接关闭的。为什么执行事件处理程序的其余部分?
但直观上,我会除了在调用this.Close()时将窗体关闭,但事实并非如此。感谢您的澄清。 – Martijn 2010-10-12 08:49:31
@Martijn:所以表单保持打开状态并且根本不关闭?你可以显示“其他代码”在做什么吗?或者你可以发布一个简单的示例显示该行为? – 2010-10-12 08:55:11
@ 0x3a:不正确。表单执行事件处理程序中的所有代码,然后关闭表单。你已经回答了我的问题:)我想知道为什么'Close()'不会在调用'Close()'的时候破坏表单。 – Martijn 2010-10-12 08:57:07