我可以在Delphi中使用变量引用组件吗



我有很多TLabel,我不想手动更改它们的.Caption,而是想在代码中进行更改。类似的东西

lbl[i] 

而不是手动

lbl1 := x; 
lbl2 := y;

如果您使用IDE创建标签,那么您有两个选择:

  1. 使用您自己的数组:

    // in public or private
    var Labels : array [1..2] of TLabel;
    // in OnFormCreate or similar event
    begin
    Labels[1] := Label1;
    Labels[2] := Label2;
    end;
    // somewhere else
    var
    lLabel : TLabel;
    begin
    for lLabel in Labels do lLabel.Caption := 'xyz';
    end;
    
  2. 使用您当前所在表单的TForm.Control数组:

    var
    I : integer;
    lControl : TControl;
    begin
    for I := 0 to ControlCount-1 do 
    begin
    lControl := Controls [I];
    if lControl is TLabel then (lControl as TLabel).Caption := 'xxx';
    end;
    end;
    

相关内容

  • 没有找到相关文章

最新更新