//临时屏蔽 checkbox的事件触发 interface ... Tform1=class(TForm) ... private isBtnClick:boolean; // 标志是否按钮产生的事件 ... procedure Tform1.Checkbox1click(Sender:Object); begin if not isbtnClick then showmessage('hello') else isBtnClick:=False; //关闭标志 end;procedure TForm1.Button1Click(Sender: TObject); begin isBtnClick:=True; if checkbox1.Checked then checkbox1.Checked:=False else checkbox1.Checked:=True; end;
procedure Tform1.button1click(Sender:Object); begin checkbox1.Checked:=not checkbox1.Checked; if checkbox1.Checked then CheckBox1.Onclick:=Checkbox1click else CheckBox1.Onclick:=nil; end;
procedure Tform1.button1click(Sender:Object); begin CheckBox1.Onclick:=nil; checkbox1.Checked:=not checkbox1.Checked; CheckBox1.Onclick:=Checkbox1click; end; It's Ok
procedure Tform1.Checkbox1click(Sender:Object); begin if checkbox1.checked then showmessage('hello'); end;这么写难道不行吗?
interface
...
Tform1=class(TForm)
...
private
isBtnClick:boolean; // 标志是否按钮产生的事件
...
procedure Tform1.Checkbox1click(Sender:Object);
begin
if not isbtnClick then
showmessage('hello')
else
isBtnClick:=False; //关闭标志
end;procedure TForm1.Button1Click(Sender: TObject);
begin
isBtnClick:=True;
if checkbox1.Checked then
checkbox1.Checked:=False
else
checkbox1.Checked:=True;
end;
begin
checkbox1.Checked:=not checkbox1.Checked;
if checkbox1.Checked then
CheckBox1.Onclick:=Checkbox1click
else
CheckBox1.Onclick:=nil;
end;
begin
CheckBox1.Onclick:=nil;
checkbox1.Checked:=not checkbox1.Checked;
CheckBox1.Onclick:=Checkbox1click;
end;
It's Ok
begin
if checkbox1.checked then showmessage('hello');
end;这么写难道不行吗?