是否可以重用.NET WinForms Form对象?

Chr*_*man 4 .net winforms

一旦窗口关闭,建议重用该窗口的Form实例以再次显示同一窗口?或者,当您要显示窗口时,是否需要或建议始终创建该类的全新实例.

这真正归结为在同一个对象上多次调用Show()或ShowDialog()是一个好主意,只要窗口在两者之间关闭即可.

如果不推荐这样做,也可以理解对潜在原因的解释.

cas*_*One 8

不,不.

对Close的调用最终会调用Dispose,并且该对象被视为已处置.

隐藏表单然后再次显示它没有问题,但是关闭它是一个明确的禁忌,因为状态在处理之后是未定义的(好吧,状态被处理掉,但使用它与使用某些东西相同)这是未定义的).