gpt4 book ai didi

C# 为什么 form.Close() 不关闭表单?

转载 作者:太空狗 更新时间:2023-10-29 17:34:37 24 4
gpt4 key购买 nike

我有一个带有以下伪代码的按钮单击事件处理程序:

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() 不会立即“删除”表单(和当前事件处理程序)。如果不再有对该表单的引用,垃圾收集器稍后将收集该表单。

this.Close() 只不过是一个常规方法调用,除非该方法抛出异常,否则您将停留在当前方法的上下文中。

关于C# 为什么 form.Close() 不关闭表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3912836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com