用FOR循环给成批给控件属性赋值的进一步问题?
上一次的问题如下:
我在一个窗体上定义了12个LABEL控件,分别为LABEL1----LABEL12,现在想用FOR循环给它们的一个相同的属性赋以相同的值,我的想法是这样的:
for i:=1 to 12 do
begin
label[i].visible:=false;
end;
但这样做显然不行,请问我如何才能在实例的名字中使用一个变量?
霹雳猫(DELPHI迷)的答案如下:
先给这些需要成批处理的Lable的Tag属性设置为一个统一的值,如3
例:
for i:=0 to ComponentCount-1 do
if components[i] is TLable then
if (Components[i] as TLable).Tag=3 then
(Components[i] as TLable).Visible:=false;
我已经试过,的确可以达到把所有TLABEL控件成批赋值。
现在,有一个更进一步的需求:
我要根据一个变量N的指示,把从LABELN+1到LABEL12的VISIBLE属性改为FALSE,如何改动以上代码?
另外,我查了一下DELPHI的帮助,没有看懂COMPONENT这个东西的含义?麻烦哪位贤人再多费口舌,解释清楚一点。