当单击某一按钮时,怎样调用另一个按钮的事件?(50分)

  • 主题发起人 主题发起人 chemstar
  • 开始时间 开始时间
C

chemstar

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个按钮:Button1和Button2。里面都有不同的代码。我想单击Button1时,在执行完了
它自己的代码后,再调用Button2的代码。
 (注意:我并不是让这两个按钮中的代码完全一致!)
我知道在VB里面可以很容易的实现。类似于下面这样:
procedure TForm1.Button1Click(Sender: TObject);
begin
......
......
TForm1.Button12Click;(这一句调用Button2的代码)
end;

请高手指点!
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Button2Click(Nil);
end;
 
就象你上面写的这样呀!
 
根本不用寫呀.直接在button1.click事件中選擇就行了.
 
太菜了简单!
Button12.Click
这样就可以
 
同上啊,测试通过的
 
试试再说。有这么简单!!!????我怎么老通不过?
 
Button2Click(self);
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('按钮1的点击事件!')
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Button1.OnClick(Button1);
end;

end.
 
procedure TForm1.Button1Click(Sender: TObject);
begin
......
......
TForm1.Button12Click(Sender: TObject);(这一句调用Button1的代码)
begin
Button1Click(Sender); //在某些场合为了识别是由哪个按钮触发的事件,建议这里用Sender
end;
 
什么错误提示?
 
这这样搞定了,给分吧!
procedure TForm1.Button1Click(Sender: TObject);
begin
......
......
Button12Click(Sender);(这一句调用Button2的代码)
end;
完全满足你的要求!!
 
这这样搞定了,给分吧!
procedure TForm1.Button1Click(Sender: TObject);
begin
......
......
[red]Button12Click(Sender);(这一句调用Button2的代码)[/red]
end;
完全满足你的要求!!
 
我的两个Button不在同一个窗体中。
我的意思是这样:当单击Form2中的Button2时,调用Form1中的Button1
 
在Form2的.pas文件中Uses Form1的.pas文件,然后
procedure TForm2.Button2Click(Sender: TObject);
begin
......
......
Form1.Button1Click(Sender);(这一句调用Form1.Button1的代码)
end;
完全满足你的要求!!
 
直接在该按钮属性窗口中(F11)选择上一个按钮的事件就可以了
 
那就写event拉
 
button2click(button2)可以!
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses
Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Button1.OnClick(Sender);
end;

end.
***********************************************
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
ShowMessage('Form2-Button1-Clicked!')
end;

end.
 
procedure TForm2.Button1Click(Sender: TObject);
begin
Button1Click(Button2);
end;
 
后退
顶部