怎么样只让事件只执行一次(比如鼠标只让它点击一次),请GG JJ帮忙 ( 积分: 50 )

  • 主题发起人 主题发起人 xiangsni
  • 开始时间 开始时间
X

xiangsni

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么样只让事件只执行一次(比如鼠标只让它点击一次),请GG JJ帮忙
 
怎么样只让事件只执行一次(比如鼠标只让它点击一次),请GG JJ帮忙
 
用个全局bool型变量就行了。
 
是不是想这样呀
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Enabled := False;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('Button1Click');
form1.Button1.OnClick:=nil;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Onclick:=nil;
end;
 
谢谢各位,我需要的是事件只执行一次,第二次就不能执行,设全局变量能解决问题。
 
不知道有没有那样的函数?
 
就我的知识范围是没有
这种自己定义一个布尔全局变量就得
在onlick中写
if not bolClick then
begin
bolClick := true;
do
process();
end
 
單擊後把按鈕改成不可見或不能操作不就行了
button1.Visible:=false;
button1.Enabled:=false;
 
var
Form1: TForm1;
Start:Boolean;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
If Start then
begin
... ...
Start:=False;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Start:=True;
end;
 
不用定義變量.這理要定很多的,如果有很多怎麼辦?
請看:
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}
procedure TForm1.Button1Click(Sender: TObject);
begin
((Sender)as Tbutton).onClick:=nil;
Showmessage('bc');
end;

end.
 
同意楼上
不知道搂主为什么这样做?
 
to ymqpc
解决问题
 
谢谢各位大哥
 
接受答案了.
 
后退
顶部