sysuye 发表于 2007-8-19 13:35

可以用循环控制一群Button吗

假如我想把Button1、Button2、Button3、Button4的left都设为20<br>怎么用循环实现?
[align=right][color=#000066][此贴子已经被作者于2007-8-19 23:53:18编辑过][/color][/align]

冰凝1984 发表于 2007-8-21 08:22

放到一个Tbutton数组里,然后用循环来实现

sysuye 发表于 2007-8-23 22:12

<P>怎么实现啊,能给个例子吗</P>

冰凝1984 发表于 2007-8-25 10:44

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

sysuye 发表于 2007-8-25 15:34

<P>谢谢你了</P>

ysp_1984 发表于 2007-10-12 09:59

var<BR>  I:  Integer;<BR>begin<BR>  for I:= 0 to ControlCount - 1 do<BR>  begin<BR>    if Controls[I] is TButton then<BR>      TButton(Controls[I]).Left:= 20;;<BR>   end;<BR>end;

缘吇弹 发表于 2007-10-12 13:23

呵呵,方法不唯一.<BR>

volte 发表于 2007-10-12 20:46

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

hczsea 发表于 2007-10-24 13:23

可不可以用Button.visable来控制

xu2000 发表于 2007-10-24 13:41

Vissable怎么能控件,Tag到是还可以。

页: [1]

编程论坛