1

controls.remove(object) 和 object.hide() 有什么区别?欢迎提供例子。

4

1 回答 1

3

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

Hide() 没有任何问题。

于 2013-08-27T16:26:03.643 回答