通過Form的Position屬性可設置窗體的初始位置,如選擇DesktopCenter為桌面中心,ScreenCenter為屏幕中心,等等。 這個屬性在很多時候簡化了程序代碼。
但是,如果設置了position為ScreenCenter和DesktopCenter等,在窗體oncreate和onshow事件中使用代碼控制窗體的位置就會不成功了,無論設置Self.Top,Self.Left為什么值,最后窗體都會自動根據Position自動調整位置。
我使用下面方法去在設置了position之后在有必要時使用代碼重新調整窗體位置。
if(NeedAdjustPosition) begin ///在需要調整窗體位置時要將postion屬性改變 Self.Position := poDesigned; Self.SetBounds(nLeft,nTop,nWidth,nHeight); end; ///不需要調整窗體位置時,讓delphi自已根據Postion處理