在form上放很多Label控件,Label命名规则相同,即   
    
  Label1   
  Label2   
  Label3   
  ...   
  LabelN   
    
  我想用一个循环将其中Label7-label20的Caption属性全部重置,delphi如何实现?   
  请帮助,谢谢! 

解决方案 »

  1.   

    要实现很容易, 有两种途径, 
    复杂点的, 就做成像CnPack那样
    简单点的, 就直接弄个非可视控件, 然后增加控件的菜单项
    在菜单项里面使用Designer, 提供设置TWincontrol的属性, 设置放Label的容器, 然后循环Controls[i], 判断类型, 设置属性, 甚至创建组件
    最后不要忘记Designer.Modified用于保存dfm信息
      

  2.   

    var
      i: Integer;
    begin
      for i := 0 to Form1.ControlCount-1 do
      begin
        if form1.Controls[i] is TLabel then
          (Form1.Controls[i] as TLabel).Caption := 'test';  end;
    end;
      

  3.   

    var 
      i: Integer; 
    begin 
      for i := 0 to Form1.ControlCount-1 do 
      begin 
        if (form1.Controls[i] is TLabel) and (符合Label7-label20的条件) then 
          (Form1.Controls[i] as TLabel).Caption := 'test';   end; 
    end;再有,可以为每个lable设置不同的tag,然后重复上述工作,判断tag即可