Visual Basic:controls.remove(object)和object.hide()之间有什么区别?

时间:2013-08-27 15:57:10

标签: vb.net winforms controls

controls.remove(object)和object.hide()之间有什么区别? 欢迎举例。

1 个答案:

答案 0 :(得分:3)

Controls.Remove(object)是一种非常危险的方法,99%的时间都使用错误。程序员认为它摆脱了控制但它没有,只有object.Dispose()这样做。移除的控件继续存在于隐藏的“停车窗口”上。目的是在不破坏和重新创建本机窗口的情况下,轻松地将控件从一个父级移动到另一个父级。一个很好的例子很难得到,一个小的用例是隐藏一个TabPage,以便以后再次恢复它。仍然必须非常小心地完成,您必须跟踪已删除的页面并在表单关闭时自行处理它们。出于同样的原因,Controls.Clear()非常危险。

Hide()没有错。