Как сделать так, чтобы диалоговое окно открывалось сразу после того, как основная форма моего приложения стала видимой?

Я использовал событие OnActivate TForm , чтобы дать мне возможность показать диалоговое окно сразу после запуска моего приложения. Я хочу, чтобы основная форма уже была загружена и видна. Какой хороший способ сделать это?

Я обнаружил, что OnActivate работает нормально, если формы WindowState не имеют значения wsMaximized .

в прошлом я Я выполнил то, что хочу, разными способами, но я думаю, что есть способ лучше.

Вот что сработало для меня:

procedure TForm1.FormCreate(Sender: TObject);  
begin 
  Application.OnIdle:=OnIdle; 
end; 

procedure TForm1.OnIdle(Sender: TObject; var Done: Boolean); 
begin 
  Application.OnIdle:=nil; 
  form2:=TForm2.Create(Application); 
  form2.ShowModal; 
end;

Есть ли способ лучше?

6
задан Johan - reinstate Monica 1 June 2011 в 16:04
поделиться