在窗体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; 

Last modification:December 4th, 2013 at 09:12 pm
如果觉得我的文章对你有用,请随意赞赏