1

実際の例: 私のアプリケーションには MainForm があります。ユーザーはボタンをクリックしてログインし、モーダル AdminSettingsForm を表示できます。AdminSettingsForm から、さらに多くのモーダル フォームなどを開くことができます。

ユーザーがログインして AdminSettingsForm を表示すると、タイマーが開始され、非アクティブ状態 (アイドル状態) が一定時間続くと AdminSettingsForm が閉じられます。

私はこれを試しました:

 for i := Screen.FormCount - 1 downto 1 do begin
   if Screen.Forms[i] <> MainForm then begin
     Screen.Forms[i].Close();
   end;
 end;

最上位のモーダル フォームを閉じるまで何も起こらず、それ以外はすべて即座に閉じます。

4

2 に答える 2