首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

用create方法创建了一个几个动态按钮如何相应

2012-03-30 
用create方法创建了一个几个动态按钮怎么相应?各位达人:用create方法创建了一个几个动态按钮怎么相应?....

用create方法创建了一个几个动态按钮怎么相应?
各位达人:
用create方法创建了一个几个动态按钮怎么相应?
......
var
button:TButton;
begin
  for i:=1 to 5 do
  begin
  button:=TButton.Create(nil);
  ......
  end;
end;
请问:
这里创建了5个按钮控件
1 怎么来编写代码相应鼠标的单击事件?
2 这5个按钮,他们的名字是什么?
谢谢!

[解决办法]
var 
button:TButton; 
begin 
for i:=1 to 5 do 
begin 
button:=TButton.Create(nil); 
button.name := 'a'+ inttostr(i); //这样给控件个名字
case i of
1: Button.OnClick:=MyButton1Click; //这样给按钮给个事件
2: Button.OnClick:=MyButton2Click; //这样给按钮给个事件
.
.
.
end;
...... 
end; 
end; 

[解决办法]

Delphi(Pascal) code
  private    { Private declarations }    procedure ButtonClick(Sender: TObject);  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ButtonClick(Sender: TObject);begin  //end;procedure TForm1.Button2Click(Sender: TObject);varbutton:TButton;I:Integer;begin  for i:=1 to 5 do  begin    button:=TButton.Create(nil);    ....    button.Tag:=I;    button.OnClick:=ButtonClick;  end;end;
[解决办法]
100的比方是我说的,怎么我成了楼主?
我是说 hmzgz81 的例子不怎么好
case i of
1: Button.OnClick:=MyButton1Click; //这样给按钮给个事件
2: Button.OnClick:=MyButton2Click; //这样给按钮给个事件
end;
[解决办法]
第1点“ccdarkness”的方法就很不错。
第2点如果你创建的时候没有给它们命名,它们就没有名字。
[解决办法]
4楼的方式才是比较好用的
共用处理过程写法:

Delphi(Pascal) code
procedure TForm1.ButtonClick(Sender: TObject);begin  //..  case (Sender as TButton).Tag of    1:  doFunc1();    2:  doFunc2();     ...    n:  end;end; 

热点排行