c# Form不会关闭
本文关键字:Form | 更新日期: 2023-09-27 18:17:23
在我的Windows窗体应用程序不退出,即使我执行this.Close();
private void exitButton_Click(object sender, EventArgs e)
{
this.Close();
}
如果我试图直接处理它,它就会崩溃。
在我的主类中,我打开一个实例,这就是我试图关闭的。在它不想关闭之前,它没有打开。
这不是我的主类。
修复:用"showDialog()"代替"show()"修复。
from Form.Close()
当窗体关闭时,对象内创建的所有资源都将关闭关闭,表格被处理。您可以阻止窗体的关闭在运行时处理关闭事件并设置Cancel作为参数传递给事件的CancelEventArgs属性处理程序。如果你要关闭的表单是你的应用程序,你的应用程序结束。
窗体不被Close处理的两个条件是(1)它是多文档接口(MDI)应用程序的一部分,而形式是看不见的;(2)您已经使用ShowDialog。在这些情况下,您需要手动调用Dispose来将所有窗体控件标记为垃圾收集。NoteNote
在显示为非模态的窗体上调用Close方法时窗口时,不能调用Show方法使窗体可见,因为表单的资源已经被释放了。隐藏窗体,然后使其可见,使用控件。隐藏的方法。谨慎noteCaution
在。net Framework 2.0之前,封闭和形式。关闭事件时不会引发。退出方法被调用退出应用程序。如果您在其中任何一个中都有验证代码事件必须执行时,您应该调用窗体。关闭方法,然后再调用Exit方法。
这清楚地说明了表单应该关闭,应用程序应该结束,除非你做了一些我们在你的例子中看不到的事情。
Close
方法是Form
的方法,它关闭了Form,这关闭了Application
:
// Close everything down.
Application.Exit();
正如你所看到的,Application Class没有Close方法,它有一个Exit方法,this.Close()
关闭了相关的Form,但保持应用程序运行。