处理完一个物体后会发生什么?

moh*_*mad 0 c# dispose

我有Label我的Form.当我调用Dispose()方法时,对象从中移除Form.但我仍然可以设置它的属性.在Dispose()为对象调用Method 之后会发生什么.我可以恢复它并再次显示它吗?

public void MyMethod()
{
     label1.Dispose();
     label1.Text = "Test";
     //No error happens
}
Run Code Online (Sandbox Code Playgroud)

在处理之后我可以读取一些属性,如Left属性.这意味着标签仍然存在于某个地方.我怎么能完全删除它?

Me.*_*ame 10

在这种情况下发生的是控件的句柄被销毁(从而从其父节点中删除).处理后,无法再将其添加到可见显示中.但是,对象本身(如类实例中)仍然存在,因此可以设置大多数属性.(有些会给出一个对象处理异常,例如尝试获取Handle属性)

通常,仍然可以设置哪些属性取决于对象的实现(IDispose接口),以及它检查它是否被处置的位置.