简单的问题......
我有控件,用户可以在运行时在我的表单上拖动。他们也可以删除它们......我应该在点击删除按钮时调用.Dispose();
,还是应该执行panel1.Controls.Clear(Control);
之类的操作? ......还是其他什么?
谢谢:)
巴尔
答案 0 :(得分:5)
您应该按照Darin Dimitrov的回复中的描述从父控件集合中删除它,并调用Dispose:
panel.Controls.Remove(someControlInstance);
someControlInstance.Dispose();
完成后,应始终对实现IDisposable的对象调用Dispose,以便立即释放它们拥有的任何非托管资源。
答案 1 :(得分:2)
只需从面板中删除控件:
panel.Controls.Remove(someControlInstance);
一旦没有对它的引用,它将受到垃圾收集,非托管资源将被妥善处理。