for i := 1 to 5 do
begin
btn := TButton.Create(self);
btn.Parent := self;
btn.Left := 10 * 10*i;
btn.Top := 3 * 10*i;
btn.Tag := i;
btn.OnClick := btnclick;
btn.Caption := '按钮' + inttostr(i);
end;
上面这段代码.实现了动态增加5个按钮!代码执行之后caption是不变的。但是TAG就全部都变成了 5!有什么办法可以让其固死不变嘛?就像 caption一样.不会随着I递增而改变 !但是TAG会随着I的递增而改变!大家一起来探讨一下!
begin
btn := TButton.Create(self);
btn.Parent := self;
btn.Left := 10 * 10*i;
btn.Top := 3 * 10*i;
btn.Tag := i;
btn.OnClick := btnclick;
btn.Caption := '按钮' + inttostr(i);
end;
上面这段代码.实现了动态增加5个按钮!代码执行之后caption是不变的。但是TAG就全部都变成了 5!有什么办法可以让其固死不变嘛?就像 caption一样.不会随着I递增而改变 !但是TAG会随着I的递增而改变!大家一起来探讨一下!
解决方案 »
- form2:=TForm2.create(nil)的奇怪问题
- 捣乱,哈哈
- 各位高手 小弟这里有遇到问题了 Delphi编写的Dll文件可以被ASP调用么?
- 一个简单问题,但难为我了,高手指点
- 关于在Delphi中读取Access中已存在的图片
- 各位高手,看看这段代码怎么写?
- 问个很菜的小问题:吉利分数,先答先得 :)--关于Flash控件的~~~
- 把窗口最小化到任务栏的代码怎么写?
- 帮我解决一treeview的问题吧,我真的快被它烦死了。只要解决马上高分相送
- 能否不通过BDE而直接使用ODBC所联接的数据库
- 如何设置TScrollBox的VertScrollBar的的颜色
- C/S模式,数据处理
tag 依次为: 1...5完全与预料的一样,没有什么问题
1:
begin
showmessage('1');
end;
2:
begin
showmessage('2');
end;
3:
begin
showmessage('3');
end;
4:
begin
showmessage('4');
end;
5:
begin
showmessage('5');
end;
end;那你们试试。按钮按这段代码。!我按下去全都是 showmessage('5');
1:
begin
showmessage('1');
end;
2:
begin
showmessage('2');
end;
3:
begin
showmessage('3');
end;
4:
begin
showmessage('4');
end;
5:
begin
showmessage('5');
end;
end;
btn: TButton;
i: Integer;
begin
for i := 1 to 5 do
begin
btn := TButton.Create(self);
btn.Parent := self;
btn.Left := 10 * 10*i;
btn.Top := 3 * 10*i;
btn.Tag := i;
// btn.OnClick := btnclick;
btn.Caption := '按钮' + inttostr(i);
btn.ShowHint := True;
btn.Hint := IntToStr(btn.Tag);
end;
end;
你想TAG不变 你直接 btn.Tag := 1; 不行?
你试试case 代码看看!.
是不行的!
case 代码 写在 btnclick哪里. for i := 1 to 5 do
begin
btn := TButton.Create(self);
btn.Parent := self;
btn.Left := 10 * 10*i;
btn.Top := 3 * 10*i;
btn.Tag := i;
btn.OnClick := btnclick;
btn.Caption := '按钮' + inttostr(i);
end; case btn.tag of
1:
begin
showmessage('1');
end;
2:
begin
showmessage('2');
end;
3:
begin
showmessage('3');
end;
4:
begin
showmessage('4');
end;
5:
begin
showmessage('5');
end;
end;
case (sender as Tspeedbutton).tag of
1:
begin
showmessage('1');
end;
2:
begin
showmessage('2');
end;
3:
begin
showmessage('3');
end;
4:
begin
showmessage('4');
end;
5:
begin
showmessage('5');
end;
end;
begin
case TButton(Sender).tag of
1:
begin
showmessage('1');
end;
2:
begin
showmessage('2');
end;
3:
begin
showmessage('3');
end;
4:
begin
showmessage('4');
end;
5:
begin
showmessage('5');
end;
end;
end;
case TComponent(Sender).tag of
var i : Integer;
btn: TButton;
begin
for i := 1 to 5 do
begin
btn := TButton.Create(self);
btn.Parent := self;
btn.Left := 10 * 10*i;
btn.Top := 3 * 10*i;
btn.Tag := i;
btn.OnClick := btnclick;
btn.Caption := '按钮' + inttostr(i);
end;
end;procedure TForm1.btnclick(sender: TObject);
begin case TButton(sender).tag of
1:
begin
showmessage('1');
end;
2:
begin
showmessage('2');
end;
3:
begin
showmessage('3');
end;
4:
begin
showmessage('4');
end;
5:
begin
showmessage('5');
end;
end;end;楼主,tag值是不同的啊
你的btnclick不知道是怎么写的?