每当我调用Dispose
Windows 窗体窗体(派生自 System.Windows.Forms.Form)上的方法来关闭它,Dispose
方法通过释放资源和处理表单来完成。
我有如下文本框之类的运行时对象:
Textbox Tb = new Textbox();
用户可以动态创建新的文本框。我想要它,以便那些包含数据的文本框保留下来,而那些为空的文本框将被删除。当我调用
Dispose
空文本框上的方法,在运行时看起来它们已被释放,但通常它们只是不可见的。所以:
Form1.Dispose();
,为什么不在运行时的文本框如下?if (tb.text=="")
tb.Dispose();
最佳答案
据我了解,这是因为所有权。表单拥有控件,因此如果您处理控件,很好,您只需要刷新它。如果您处理表单本身,它就消失了,没有什么可刷新的。
关于visual-studio - Windows 窗体的窗体和文本框的 Dispose 方法的行为差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3645786/