小编典典

C#Form.Close与Form.Dispose

c#

我是C#的新手,我尝试查看早期的文章,但没有找到一个好的答案。

在具有单个表单的C#Windows表单应用程序中,使用的是Form.Close()更好还是Form.Dispose()

MSDN说,在调用Close时,对象中的所有资源都是关闭的,并且该表单也被处置。尽管有这些,但我在网上还是遇到了多个示例,这些示例遵循的是Dispose而不是Close。

一个人比另一个人有优势吗?在哪种情况下,我们应该优先选择另一种?


阅读 455

收藏
2020-05-19

共1个答案

小编典典

MSDN上的这个论坛告诉您。

Form.Close()发送适当的Windows消息以关闭Win32窗口。在该过程中,如果未模态显示表单,则在表单上调用Dispose。处置表单将释放表单所保留的非托管资源。

如果执行form1.Show()Application.Run(new Form1()),则将在调用when时Close()调用Dispose 。

但是,如果您form1.ShowDialog()
要模态显示该表单,则该表单将不会被处理,您需要自称form1.Dispose()。我相信这是您唯一需要担心自己处理表格的时候。

2020-05-19