目的:动态选择控件,更改控件属性
详细说明:如窗口上有100个label,一个edit,一个button
现在想根据edit的text值(如:输的是labele1,labele2等)来选择相应的label来更改它的caption值,有什么方法吗?

解决方案 »

  1.   

    var
      i:Integer;
    begin
      for i:=0 to self.ComponentCount-1 do
      begin
        if self.Components[i] is TLabel then
        begin
          if (Components[i] as TLabel).Name = edit1.Text then
          begin
            (Components[i] as TLabel).Caption:='helloworld';
          end;
        end;
      end;
    end;
      

  2.   

    var
      i:Integer;
    begin
      for i:=0 to self.ComponentCount-1 do
      begin
        if self.Components[i] is TLabel then
        begin
          if (Components[i] as TLabel).Name = edit1.Text then
          begin
            (Components[i] as TLabel).Caption:='helloworld';
          end;
        end;
      end;
    end;