我有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接口),以及它检查它是否被处置的位置.