删除(),清除()或处理()

jay*_*t55 5 .net winforms

简单问题......

我有控件,用户可以在运行时在我的表单上拖动.他们也可以删除它们......我应该.Dispose();在他们点击删除按钮时调用,还是应该做类似的事情panel1.Controls.Clear(Control);?...或者是其他东西?

谢谢 :)

巴尔

Joe*_*Joe 5

您应该按照Darin Dimitrov的响应中所述从父控件集合中删除它,并调用Dispose:

panel.Controls.Remove(someControlInstance);
someControlInstance.Dispose();
Run Code Online (Sandbox Code Playgroud)

完成后,应始终对实现IDisposable的对象调用Dispose,以便立即释放它们拥有的任何非托管资源.