OnClick事件中的Sender参数就是触发这个事件的按钮。 如果你在生成的时候写 bttn[i].Tag := i; 那么在onclick事件中,这么得到i的值: (Sender as TButton).Tag
可以借助Bttn的Tag来标志: for i:=0 to n do begin Bttn[i]:=TButton.Create(Self); Bttn[i].Tag:=i; Bttn[i].OnClick:=btnClick; end; procedure Form1.btnClick(Sender:TObject); begin ShowMessage(Format('No.%d button was clicked',[(Sender as TButton).Tag])); end;
如果你在生成的时候写
bttn[i].Tag := i;
那么在onclick事件中,这么得到i的值:
(Sender as TButton).Tag
for i:=0 to n do
begin
Bttn[i]:=TButton.Create(Self);
Bttn[i].Tag:=i;
Bttn[i].OnClick:=btnClick;
end;
procedure Form1.btnClick(Sender:TObject);
begin
ShowMessage(Format('No.%d button was clicked',[(Sender as TButton).Tag]));
end;