3
更具體地說,是這些語句設置控制父項屬性和使用Controls.Add()之間的區別?
ownerControl.GroupBox1.Controls.Remove(childControl);
ownerControl.Controls.Add(childControl);
一個相當於
childControl.Parent = ownerControl;
更具體地說,是這些語句設置控制父項屬性和使用Controls.Add()之間的區別?
ownerControl.GroupBox1.Controls.Remove(childControl);
ownerControl.Controls.Add(childControl);
一個相當於
childControl.Parent = ownerControl;
展望反射器,它看起來像Parent
只是調用Add
(當新的父不爲null)。 Controls.Add
涉及將其從舊的父母帶走。因此,實際上,以下是功能上等同(當ownerControl
不是null):
ownerControl.Controls.Add(childControl); // note no Remove etc
和:
childControl.Parent = ownerControl;
反直覺的,但快速測試表明,它的作品。