我使用主窗体和子窗体。窗体主窗体+子窗体堆栈问题
如果我打开第二个孩子形式
TMYForm.Create(无);
它不堆叠在第一个子窗体上。
第二个和第X个子窗体是否有任何方式出现在与第一个子窗体完全相同的位置?
或者我需要销毁旧的子窗体,同时创建新的窗体(因为堆叠是自动完成的)?
我使用主窗体和子窗体。窗体主窗体+子窗体堆栈问题
如果我打开第二个孩子形式
TMYForm.Create(无);
它不堆叠在第一个子窗体上。
第二个和第X个子窗体是否有任何方式出现在与第一个子窗体完全相同的位置?
或者我需要销毁旧的子窗体,同时创建新的窗体(因为堆叠是自动完成的)?
这是预期的行为。如果没有另行指定,表格将从之前打开的位置向右和向下打开。
如果你想控制你的表格的位置,其Position
属性更改为poDesigned
,但你要设置其Top
和Left
属性,以确保这将是可见的。
或者您可以使用一些预设:poDesktopCenter, poMainFormCenter, poOwnerFormCenter
或poScreenCenter
。
尝试把此:
TMYForm.Position:= poMainFormCenter;
或
TMYForm.Position:= poOwnerFormCenter;
Before TMYForm.Create(nil);
-S
如果您有子窗体参考,使用Form2.BoundsRect:= Form1.BoundsRect
附:我试图在使用nil之前破坏子表单,但仍将它堆叠在不同的位置,尽管第一个子表单不再可见。 – Tom 2009-08-28 17:04:26
这是一种模态还是非模态形式?对于模态,您需要确保z顺序也是正确的。 – 2009-08-28 17:15:40