Panel1.Color:=cl3DLight;
Panel2.Color:=cl3DLight;
Panel3.Color:=cl3DLight;
.
.
.
Paneln.Color:=cl3DLight;//设n大于10象这种情况能否用简单的语句解决??

解决方案 »

  1.   

    //====================================
    //code by yh
    // 设置所有控件的只读属性
    // set_value :为 控件的只读属性 的值
    //form : 要的设置的窗体
    //====================================function set_read(form:Tform;set_value: boolean): boolean;
    var
      i:integer;
    begin
       if form= nil then form:=tform.Create(nil);
       for i:=0 to form.ComponentCount-1 do
         begin
           if (form.Components[i].ClassName='TbsSkinDBEdit')  then
             TbsSkinDBEdit(form.Components[i]).ReadOnly:=set_value;
         end;
    end;
      

  2.   

    弄个循环var
      i: integer;
      c: TComponent;
    begin
      for i:= 1 to 10 do begin
        c:= Self.FindComponent(Format('Panel%d', [i]));
        if c <> nil then
          (c as TPanel).Color:= cl3DLight;
      end;
    end;类似的方法很多。
      

  3.   

    var I: integer;
    begin
     for I:= 1 to 4 do
     begin
       (self.FindComponent('Panel' + IntToStr(i)) as TPanel).Color := clRed;
     end;
    end;
      

  4.   

    //====================================
    //code by yh
    // 设置所有控件的属性
    // 
    //form : 要的设置的窗体
    //====================================function set_read(form:Tform): boolean;
    var
      i:integer;
    begin
       if form= nil then form:=tform.Create(nil);
       for i:=0 to form.ComponentCount-1 do
         begin
           if (form.Components[i].ClassName='TPanel')  then
             TPanel(form.Components[i]).Color:=cl3DLight;
         end;
    end;