button中的代码:
begin
form2 := tform2.create(self);
try
form2.show;//或form2.showmodal;
except
form2.free;
end;
end;
注意:别忘了在form的destroy事件中form2.free
begin
form2 := tform2.create(self);
try
form2.show;//或form2.showmodal;
except
form2.free;
end;
end;
注意:别忘了在form的destroy事件中form2.free
解决方案 »
- try...except无效?
- 关于下一条记录和上一条记录问题
- 简单问题:如何创建全局对象?
- 关于文件的操作问题,请指教。
- 100分求教界面问题?
- 提供酒店管理源代码
- 关于用CompactDatabase压缩带密码的数据库遇到的问题?
- 文件被其他程序于独占模式打开,我如何才能操作这个文件?急!!
- 现有一 Rect 区域为32x32的,有一 Bitmap 为64x64的,要将此bitmap画在此Rect 中,用TCanvas.Draw(Rect.Left,Rect.Top,BitMap) 的话会将
- 使用C++Biulder4,怎样在一个新的工程中使用已开发好的旧form?
- OpenFile怎么打开多个文件?
- 各位高手,关于DELPHI下多人协同开发软件的问题。
procedure TForm1.MyButtonClick(Sender: TObject);
begin
form2.show;
end;
然后
button1.onclick := MyButtonClick;
其他按钮类似
然后把你所动态建立的按钮的onclick赋值了这个过程就可以了。
比如:
procedure tform1.dothing(sender:tobject);
begin
//do your thing
end;
button1.onclick:=dothing;
注意,这个过程要以sender:tobject为形参.
{ Private declarations }
procedure MyClick(Sender: TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var i:integer ;
B_button:TButton ;
begin
for i:=1 to 10 do
begin
B_button:=Tbutton.Create(nil) ;
B_button.Parent := Panel1 ;
B_button.Name := 'B_But' + IntToStr(i);
B_button.Top := 2 ;
B_button.Left := (B_button.Width)*(i-1) ;
B_button.OnClick := MyClick ;
end;
end;procedure TForm1.MyClick(Sender: TObject);
begin
ShowMessage((Sender as TButton).Name);
end;
end.
{ Private declarations }
procedure MyClick(Sender: TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var i:integer ;
B_button:TButton ;
begin
for i:=1 to 10 do
begin
B_button:=Tbutton.Create(nil) ;
B_button.Parent := Panel1 ;
B_button.Name := 'B_But' + IntToStr(i);
B_button.Top := 2 ;
B_button.Left := (B_button.Width)*(i-1) ;
B_button.OnClick := MyClick ;
end;
end;procedure TForm1.MyClick(Sender: TObject);
begin
{ShowMessage((Sender as TButton).Name);}
form2.show;
end;
end.
var
button :array [0..15] of Tbutton;
I: Integer;
begin
for I ;= 0 to 15 do
begin
button[I] := tbutton.create(...);
...
...
button[I].tag := I;
button[I].onclick := myclick;
end;
end;procedure form1.myclick(Sender: TObject);
begin
case tbutton(sender).tag of
0: form2.show;
...
...
end;
end;