注册 登录
编程论坛 Delphi论坛

可以用循环控制一群Button吗

sysuye 发布于 2007-08-19 13:35, 1625 次点击
假如我想把Button1、Button2、Button3、Button4的left都设为20
怎么用循环实现?

[此贴子已经被作者于2007-8-19 23:53:18编辑过]

9 回复
#2
冰凝19842007-08-21 08:22
放到一个Tbutton数组里,然后用循环来实现
#3
sysuye2007-08-23 22:12

怎么实现啊,能给个例子吗

#4
冰凝19842007-08-25 10:44
如:我在界面上放了4个按钮,我要把这4个按钮的left属性都设为20,我可以这么做:
(1)在窗体的var下面放如下声明:
btn_array:array[1..4] of TButton;
(2)在窗体的oncreate事件里添加如下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
btn_array[1]:=button1;
btn_array[2]:=button2;
btn_array[3]:=button3;
btn_array[4]:=button4;
end;
(3)在窗体的onshow事件里添加如下代码:
procedure TForm1.FormShow(Sender: TObject);
var
i:integer;
begin
for i:= 1 to 4 do
begin
btn_array[i].Left:=20;
end;
end;



#5
sysuye2007-08-25 15:34

谢谢你了

#6
ysp_19842007-10-12 09:59
var
I: Integer;
begin
for I:= 0 to ControlCount - 1 do
begin
if Controls[I] is TButton then
TButton(Controls[I]).Left:= 20;;
end;
end;
#7
缘吇弹2007-10-12 13:23
呵呵,方法不唯一.
#8
volte2007-10-12 20:46

最好放在一个panel上面
然后通过ysp_1984的方法使用要好点。

#9
hczsea2007-10-24 13:23
可不可以用Button.visable来控制
#10
xu20002007-10-24 13:41
Vissable怎么能控件,Tag到是还可以。
1