在我的应用程序中,我希望打开一个对话框,这个对话框在某些情况下应立即关闭(在短消息之后).
我试过这个:
procedure TForm2.FormActivate(Sender: TObject); begin if SomeCondition then begin ShowMessage('You can''t use this dialog right now.'); close; modalresult := mrCancel; end; end;
但对话框仍然打开.我也试图将代码放在OnShow事件中,但结果是一样的.
为什么这不工作?
解决方法
试试这个
procedure TForm2.FormActivate(Sender: TObject); begin ShowMessage('You can''t use this dialog right now.'); PostMessage(Self.Handle,wm_close,0); end;