在FormShow事件中关闭一个Modal窗口

作者: 傻猫    分类: 搞软件     发布时间: 12-04 21:12    浏览次数: 3964     无留言

在窗体FormShow事件中进行条件判断,如果不符合条件时,showmessage显示消息,然后自动关闭窗口。

showmessage会触发一个modal事件,点确定后,再执行close是无法关闭窗口的,只能通过其它办法才行。

下面是一种通过消息传递的方法,可完美解决在formshow事件中关闭窗口。

private
{ Private declarations }
//定义一个用户消息
procedure test(var msg: TMessage);message WM_USER;

procedure TForm1.FormShow(Sender: TObject);
begin
//发送消息            
PostMessage(handle,WM_USER,0,0);
end;

procedure TForm1.test(var msg: TMessage);
begin
//在消息中关闭窗口
close;
end; 

添加新评论