如何在form的onshow事件里关闭该form?

8341 2002-08-06 01:49:52
在onshow事件里,发现不符合要求,不想让它显示了,可是使用close不行啊,各位有何良策?
...全文
76 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tata1 2002-08-07
  • 打赏
  • 举报
回复
在onshow里关闭Form不太好。

newform := TNewForm.Create(Self);
try
if {出错} then
raise Exception.Create('xx错误');
newform.Show;
except
newform.Free;
end;

dragonfox 2002-08-06
  • 打赏
  • 举报
回复
通常你在OnCreate或Onshow里关闭窗体
会出保护性错误,这里用发消息的方法

begin
messagedlg('将要关闭', mtInformation, [mbOK], 0);
PostMessage(self.handle, WM_CLOSE, 0, 0);
Screen.Cursor := crDefault;
end

---Delphi之未经证实的葵花宝典version 2.1

shsandbeah 2002-08-06
  • 打赏
  • 举报
回复
PostMessage(self.Handle,WM_CLOSE,0,0);
应该没问题,在你的机器上试试。
在我机器上是没问题的,就写在OnShow事件中
沧-海-桑-田 2002-08-06
  • 打赏
  • 举报
回复
OnShow事件中是不能关闭的
shsandbeah 2002-08-06
  • 打赏
  • 举报
回复
PostMessage(self.Handle,WM_CLOSE,0,0);
应该没问题,在你的机器上试试。
danyanpi 2002-08-06
  • 打赏
  • 举报
回复
既然不符合要求,为什么还要显示它?可以不开启该窗口呀!
luoweicaisd 2002-08-06
  • 打赏
  • 举报
回复
先判断是否可create,再create啊,在onshow中是关不了的,在oncreate可以

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧