首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

新手,求解呀解决方法

2013-01-27 
新手,求解呀调用formcloseQuery,不能关闭窗口呀,应该怎么写我的代码如下:procedure TForm1.Button1Click(S

新手,求解呀
调用formcloseQuery,不能关闭窗口呀,应该怎么写
我的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
  canclose: boolean;
begin
  canclose := true;
  formcloseQuery(self,canclose);
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  case messagebox(0,'改变,关闭么','提示',MB_OKCANCEL) of
  2: canclose := false;
  end;
end;
[解决办法]
直接self.close就行了,调用close时自然会触发onclosequery事件,费那么大劲干嘛。。
[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
begin
self.Close;
end;

[解决办法]
不关闭肯定是2: canclose := false;得到满足了
if messagebox(0,'改变,关闭么','提示',MB_OKCANCEL) =mrOK then
xxxx

[解决办法]
formcloseQuery是关闭时自动调用的判断、善后处理
关闭还是form1.close
[解决办法]
你还是没有明白我们的意思。。你在button的onclick用form.close,那么closequery的代码自然得到了执行!它会弹出一个对话框问你是否关闭,只有满足条件才关,不是说调用close就一定得关闭!
[解决办法]
closequery中canclose为true就关了呀,等于false的时候就不会关闭,你传参数true进去也没用,closequery都被你修改了,canclose已经为false还怎么关闭?!
[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
begin
  close;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  canclose:=messagebox(0,'改变,关闭么','提示',MB_OKCANCEL)=1;
end;

热点排行