当父元素的宽度或高度发生变化时,您更喜欢使用什么方法来保持控件在父元素中心位置?
将控件的 Anchors 属性设置为 [akLeft, akTop, akRight, akBottom]。
如果您指的是一种“更新,请稍候…”类型的东西,我会在窗体的OnResize事件中手动移动它。这样可以让我在设计过程中将面板放在一边,并且通常隐藏,但需要时我可以使其可见。
procedure TMyForm.FormResize(Sender: TObject);
var
nNewTop : Integer;
begin
inherited;
pnlRegenerating.Left := (ClientWidth - pnlRegenerating.Width) div 2;
nNewTop := (ClientHeight div 5) {* 4};
if (nNewTop + pnlRegenerating.Height) > ClientHeight then
nNewTop := ClientHeight - pnlRegenerating.Height - 4;
pnlRegenerating.Top := nNewTop;
end;