在我的Windows窗体中,即使执行this.Close();
private void exitButton_Click(object sender, EventArgs e)
{
this.Close();
}
如果我尝试直接处理它就会崩溃。
在我的主课程中,我打开一个实例,这就是我试图关闭的实例。在它没有想要关闭之前,它没有打开。
这不是我的主要课程。
FIX:替换" show()"与" showDialog()"修好了。
答案 0 :(得分:1)
当表单关闭时,在对象中创建的所有资源都是 关闭,表格处理。您可以阻止关闭表单 在运行时通过处理Closing事件并设置Cancel CancelEventArgs的属性作为参数传递给您的事件 处理程序。如果您要关闭的表单是您的启动表单 申请,你的申请结束。
表单未在关闭时处理的两个条件是(1)它 是多文档界面(MDI)应用程序的一部分,而且是 形式不可见; (2)您已使用表格显示 ShowDialog的。在这些情况下,您需要手动调用Dispose 标记所有表单的垃圾收集控件。 NoteNote
在显示为无模式的表单上调用Close方法时 窗口,你不能调用Show方法使表单可见, 因为表格的资源已经发布。隐藏一个 使用Control.Hide方法然后使其可见。警告 noteCaution
在.NET Framework 2.0之前,Form.Closed和Form.Closing 调用Application.Exit方法时不会引发事件 退出你的申请。如果您在其中任何一个中都有验证码 必须执行的事件,您应该调用Form.Close方法 在调用Exit方法之前单独打开每个打开的表单。
这清楚地表明表单应该关闭,应用程序应该结束,除非你做了我们在你的例子中看不到的其他内容。
答案 1 :(得分:0)
Close
方法是Form
方法,它会关闭表单,而关闭Application
代替:
// Close everything down.
Application.Exit();
正如您所看到的Application类没有Close方法,它有一个Exit方法,this.Close()
关闭相关的Form,但保持应用程序运行。