C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■103934 / 5階層)  FormClosingでセーブするが稀に最後まで書込まれない
□投稿者/ Azulean (1回)-(2026/05/13(Wed) 22:06:54)
2026/05/14(Thu) 07:24:31 編集(投稿者)

直接の回答ではありません。

・FormClosing はキャンセル確認をするためのタイミングであり、終了は確定していない。
 →たとえば、Windowsシャットダウンの場合、FormClosingの後、他のアプリでシャットダウンをキャンセルしたら、「閉じません」(FormClosedが発生しない)。

・Windows Vista 以降では、FormClosing/FormClosed で長時間の処理をすることは非推奨になっています。
 →終了時に時間のかかる仕様・設計を避けるべきだと Microsoft は言っています。

・シャットダウン契機で発せられる FormClosing は 5 秒以内の完了が求められるはず。(超過した場合は、シャットダウンを妨げていますと出るなど、正常終了されない可能性もある)
 https://learn.microsoft.com/ja-jp/windows/win32/shutdown/wm-queryendsession#remarks

(参考)
https://learn.microsoft.com/ja-jp/windows/win32/shutdown/shutting-down
> アプリケーションでは、データと状態を頻繁に保存することをお勧めします。たとえば、ユーザーが開始した保存操作の間にデータを自動的に保存して、シャットダウン時に保存するデータの量を減らします。


このような状況にあるため、FormClosing で長時間かかるというシナリオ自体を避けることが多く、どうして起こるのか? どうしたら軽減できるのか? の知見は少ないかもしれません。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[4]: FormClosingでセーブするが稀に最後まで書込まれない /Tom →Re[6]: FormClosingでセーブするが稀に最後まで書込まれない /魔界の仮面弁士
 
上記関連ツリー

FormClosingでセーブするが稀に最後まで書込まれない / Tom (26/05/05(Tue) 11:26) #103927
Re[1]: FormClosingでセーブするが稀に最後まで書込まれない / 魔界の仮面弁士 (26/05/05(Tue) 17:57) #103929
  └ Re[2]: FormClosingでセーブするが稀に最後まで書込まれない / 魔界の仮面弁士 (26/05/05(Tue) 18:53) #103930
    └ Re[3]: FormClosingでセーブするが稀に最後まで書込まれない / Tom (26/05/06(Wed) 13:09) #103931
      └ Re[4]: FormClosingでセーブするが稀に最後まで書込まれない / Tom (26/05/13(Wed) 20:50) #103933
        └ FormClosingでセーブするが稀に最後まで書込まれない / Azulean (26/05/13(Wed) 22:06) #103934 ←Now
          └ Re[6]: FormClosingでセーブするが稀に最後まで書込まれない / 魔界の仮面弁士 (26/05/14(Thu) 11:41) #103935
            └ Re[7]: FormClosingでセーブするが稀に最後まで書込まれない / Tom (26/05/16(Sat) 12:54) #103936

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信