C#为什么form.Close()没有关闭表单?
发布时间:2020-12-15 03:57:41 所属栏目:百科 来源:网络整理
导读:我有一个按钮单击事件处理程序与以下伪代码: private void btnSave_Click(object sender,EventArgs e){ if(txt.Text.length == 0) this.Close(); else // Do something else // Some other code...} 这只是一些简单的代码,但重点是,当文本长度等于零时,我想
我有一个按钮单击事件处理程序与以下伪代码:
private void btnSave_Click(object sender,EventArgs e) { if(txt.Text.length == 0) this.Close(); else // Do something else // Some other code... } 这只是一些简单的代码,但重点是,当文本长度等于零时,我想关闭表单.但是代码不是关闭表单而是执行部分//其他一些代码.单击事件处理程序完全执行后,表单将关闭. 我知道,当我在此之后立即返回时.Close()表单将关闭,但是我想知道为什么在调用this.Close()时表单不会直接关闭.为什么执行事件处理程序的其余部分? 解决方法
执行事件处理程序的其余部分是因为您没有离开该方法.它是如此简单.
调用this.Close()不会立即“删除”表单(和当前事件处理程序).如果没有对表单的更多引用,表单将在稍后由垃圾收集器收集. this.Close()不是常规方法调用,除非方法抛出异常,否则将保留在当前方法的上下文中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |