Form上面有6个checkbox控件,每个控件的操作都差不多,我想用控件数组来简化代码,声明了一个控件数组chks:array[1..6] of TCheckbox,现在想把Form上的6个checkbox控件对应到chks里面,也就是chks[1]对应checkbox1..chks[6]对应checkbox6,如果一个一个的写是可以实现的
chks[1]:=checkbox1;
chks[2]:=checkbox2;
chks[3]:=checkbox3;
chks[4]:=checkbox4;
chks[5]:=checkbox5;
chks[6]:=checkbox6;
如果Form里面有几十个checkbox控件,这样一个一个写就不可以取了,有什么好的办法让它们一一对应呢?谢谢!
chks[1]:=checkbox1;
chks[2]:=checkbox2;
chks[3]:=checkbox3;
chks[4]:=checkbox4;
chks[5]:=checkbox5;
chks[6]:=checkbox6;
如果Form里面有几十个checkbox控件,这样一个一个写就不可以取了,有什么好的办法让它们一一对应呢?谢谢!
var i: Integer;
s: string; for i:=AControl.ControlCount - 1 downto 0 do
if AControl.Controls[i] is TCheckBox then
begin
s := AControl.Controls[i].Name;
delete(s, 1, Length('checkbox'));
chks[StrToInt(s)] := TCheckBox(AControl.Controls[i]);
end;
for I := 0 to self.ControlCount - 1 do
begin
if Self.Controls[i].ClassName = 'TCheckBox' then
begin
chks[TCheckBox(self.Controls[i]).Tag] := TCheckBox(Self.Controls[i]);
end;
end;