2009-08-28 130 views
0

我使用主窗體和子窗體。窗體主窗體+子窗體堆棧問題

如果我打開第二個孩子形式

TMYForm.Create(無);

它不堆疊在第一個子窗體上。

第二個和第X個子窗體是否有任何方式出現在與第一個子窗體完全相同的位置?

或者我需要銷燬舊的子窗體,同時創建新的窗體(因爲堆疊是自動完成的)?

+0

附:我試圖在使用nil之前破壞子表單,但仍將它堆疊在不同的位置,儘管第一個子表單不再可見。 – Tom 2009-08-28 17:04:26

+0

這是一種模態還是非模態形式?對於模態,您需要確保z順序也是正確的。 – 2009-08-28 17:15:40

回答

4

這是預期的行爲。如果沒有另行指定,表格將從之前打開的位置向右和向下打開。
如果你想控制你的表格的位置,其Position屬性更改爲poDesigned,但你要設置其TopLeft屬性,以確保這將是可​​見的。
或者您可以使用一些預設:poDesktopCenter, poMainFormCenter, poOwnerFormCenterpoScreenCenter

0

嘗試把此:

TMYForm.Position:= poMainFormCenter;

TMYForm.Position:= poOwnerFormCenter;

Before TMYForm.Create(nil);

-S

0

如果您有子窗體參考,使用Form2.BoundsRect:= Form1.BoundsRect