主题:请问这段代码 有撒什么问题
heatfighter
[专家分:10] 发布于 2006-04-20 08:48:00
procedure TForm1.FormShow(Sender: TObject);
var
m,n: integer;
begin
for m:= 1 to 6 do
combobox[m].Enabled:=false;
for n:=1 to 4 do
edit[n].enabled:-false;
end;
end.
我的意思是想用FOR 语句 把这些组件都不能用 但是 提示combobox 和EDIT错误
我知道这样写不对, 但是不知道怎么写。。。郁闷
回复列表 (共10个回复)
沙发
haptis [专家分:1260] 发布于 2006-04-20 09:39:00
for i:=0 to Form1.controlCount-1 do
if Form1.Controls[i] is Tedit then
TEdit(Form1.Controls[i]).Enabled:=false
板凳
heatfighter [专家分:10] 发布于 2006-04-20 09:58:00
代码的意思是这样 可是我放进去 效果没有达到 我专门开了一个窗口给他用也没用 。。
3 楼
heatfighter [专家分:10] 发布于 2006-04-20 10:02:00
可以了 谢谢指教 我刚才弄错了 我的EDIT 是放在PANEL1 上的。。 不好意思。。。
4 楼
heatfighter [专家分:10] 发布于 2006-04-20 10:12:00
在为一个问题 如果把controls 换成COMPONENT 意思不是一样啊??这个有区别吗?
5 楼
heatfighter [专家分:10] 发布于 2006-04-20 10:19:00
我想让COMBOBOX 组件 从1 到9 不能用 好象上面那段代码就不行了
6 楼
aizaixiiii [专家分:2130] 发布于 2006-04-20 10:30:00
上面的只是针对TEDIT的,你自己改成COMBOBOX不就了?要多想
7 楼
heatfighter [专家分:10] 发布于 2006-04-20 10:50:00
就是改了不行啊。。。
8 楼
heatfighter [专家分:10] 发布于 2006-04-20 10:52:00
哎 还是我上面的组件太多了 IMAGE 又是PANEL 又是GROUPBOX 现在改来改去终于可以了
刚才是PANEL1。GROUPBOX1。COMBOBOX1 去掉PANEL1 就可以了 我是把GROUPBOX1 放在PANEL1 上的 我以为要写上PANEL1。。
9 楼
aizaixiiii [专家分:2130] 发布于 2006-04-20 11:00:00
for i:=0 to controlcount-1 do
if (Controls[i] is TEDIT) or (Controls[i] is TCOMBOBOX) then
Controls[i].Enabled:=FALSE;
10 楼
haptis [专家分:1260] 发布于 2006-04-20 13:58:00
放在panel上就把form改成panel就可以了 只要是容器组件都有controls属性
我来回复