我想当用户更改日期后只触发一次OnChange事件?看似很简单(50分)

  • 主题发起人 主题发起人 你若有情
  • 开始时间 开始时间

你若有情

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TDateTimePick控件当用户更改了日期时弹出一个对话框!但是每天更改后都会显示两次对话!触发一次怎么办!

procedure TDeliverAddForm.date_DeliverDateChange(Sender: TObject);
begin
returnDlg:=MessageDlg('您是要更改日期还是要新建一张送货单',mtConfirmation,[mbYes,mbNo,mbCancel],0);
if returnDlg=mrYes then
begin
ShowMessage('yes');
end
else if returnDlg=mrNo then
begin
ShowMessage('no');
end
else if returnDlg=mrCancel then
begin
ShowMessage('cancel');
end;
end;
 
可以用一全局变量控制,比如ToChg:Boolean;
if ToChg then
begin
ToChg:=False;
...
end;
 
首先申明一个全局变量
ChangeFirst:Integer;

然后在
Onchange事件中
if Changefirst=1 then
begin
//还有其它语句
inc(ChangeFirst);
end else
begin
Changefirst:=1;
end;
 
ProgramFan的方法好点,全面一点
LGXing的方法也应该可以但是点第二次的时候不行了!还修改就可以了
 
多人接受答案了。
 
后退
顶部