我是C#的新手,我尝试查看早期的文章,但没有找到一个好的答案。
在具有单个表单的C#Windows表单应用程序中,使用的是Form.Close()更好还是Form.Dispose()?
Form.Close()
Form.Dispose()
MSDN说,在调用Close时,对象中的所有资源都是关闭的,并且该表单也被处置。尽管有这些,但我在网上还是遇到了多个示例,这些示例遵循的是Dispose而不是Close。
一个人比另一个人有优势吗?在哪种情况下,我们应该优先选择另一种?
MSDN上的这个论坛告诉您。
Form.Close()发送适当的Windows消息以关闭Win32窗口。在该过程中,如果未模态显示表单,则在表单上调用Dispose。处置表单将释放表单所保留的非托管资源。 如果执行form1.Show()或 Application.Run(new Form1()),则将在调用when时Close()调用Dispose 。 但是,如果您form1.ShowDialog() 要模态显示该表单,则该表单将不会被处理,您需要自称form1.Dispose()。我相信这是您唯一需要担心自己处理表格的时候。
Form.Close()发送适当的Windows消息以关闭Win32窗口。在该过程中,如果未模态显示表单,则在表单上调用Dispose。处置表单将释放表单所保留的非托管资源。
如果执行form1.Show()或 Application.Run(new Form1()),则将在调用when时Close()调用Dispose 。
form1.Show()
Application.Run(new Form1())
Close()
但是,如果您form1.ShowDialog() 要模态显示该表单,则该表单将不会被处理,您需要自称form1.Dispose()。我相信这是您唯一需要担心自己处理表格的时候。
form1.ShowDialog()
form1.Dispose()