我想为我的子类表单对象编写一个函数。该函数必须关闭表单并返回该表单上的控件,因此我可以将其放在另一个表单上。
我无法阻止控件处理。我认为使用this.Controls.Remove(someControl)将它从控件集合中删除就足以阻止它处理,但它仍然处置!
我还需要做些什么来告诉表格不要丢弃我的控制权?
之前,我在原始表单关闭之前将控件添加到另一个表单中。这似乎阻止了处置。执行此操作的代码更麻烦,我真的希望在将控件添加到另一个表单之前通过关闭原始表单来简化操作。
谢谢!
答案 0 :(得分:6)
在处置Parent对象之前,将子控件的Parent属性设置为null。
答案 1 :(得分:2)
你为什么试图阻止他处置?如果您不再引用它,那么它将被处理掉。因此,如果您在代码中保留对它的引用,那么这应该足以防止它被处理,因为您将来会再次使用它。