如何将delphi上TPanel的所有TLabel复制到另一个TPanel?

ale*_*zm1 0 delphi parent tlabel tpanel

我在delphi表单上有一个TPanel,当我按下一个按钮并将它们放在其他面板中时,我想复制所有与这个TPanel同属的TLabel.有没有办法做到这一点?谢谢.

RRU*_*RUZ 5

对于copy从一个TPanel到另一个TPanel的TLabel控件,您可以使用类似的东西

Procedure CopyLabels(ParentControl,DestControl:TWinControl);
var
 i      : integer;
 ALabel : TLabel;
begin
  for i := 0 to ParentControl.ControlCount - 1 do
   if ParentControl.Controls[i] is TLabel then
    begin
       ALabel:=TLabel.Create(DestControl);
       ALabel.Parent :=DestControl;
       ALabel.Left   :=ParentControl.Controls[i].Left;
       ALabel.Top    :=ParentControl.Controls[i].Top;
       ALabel.Width  :=ParentControl.Controls[i].Width;
       ALabel.Height :=ParentControl.Controls[i].Height;
       ALabel.Caption:=TLabel(ParentControl.Controls[i]).Caption;
       //you can add manually more properties here like font or another 
    end;
end;
Run Code Online (Sandbox Code Playgroud)

并使用这样的

CopyLabels(Panel1,Panel2);
Run Code Online (Sandbox Code Playgroud)

您也可以使用它RTTI,将属性从控件复制到另一个,但由于您没有指定您的Delphi版本,我只展示了一个简单的示例.