前提・実現したいこと
お世話になります。
C# windowsフォームアプリケーションで開発をしております。
アプリの×ボタンやフォームの終了時にForm1_FormClosingでconfigファイルに画面の情報を保存する方法が分かりました。
そこでPCの電源を強制的に切った時にも保存されるのか試してみたところ、どうも保存されていないみたいでした。
・Form1_FormClosingで電源を強制的に落とされた場合でも保存ができるのか
・Form1_FormClosingで保存できないのなら他に保存方法があるのか
上記2点か、そもそも保存できないのか知りたいです。
よろしくお願いいたします。
該当のソースコード
C#
1private void Form1_FormClosing(object sender, FormClosingEventArgs e) 2 { 3 Properties.Settings.Default.label1Text = this.label1.Text; 4 }
補足情報(FW/ツールのバージョンなど)
Visual Studio Community 2019 16.7.3
.NET Framework 4.8.03752
> そもそも保存できないのか知りたいです。
100% 絶対できないとまで言い切る自信はないですが、できないと思って、UPS を導入するとかした方が良いと思います。
>UPS を導入するとかした方が良いと思います
やっぱりそうですよね。。。
ありがとうございました!
> そこでPCの電源を強制的に切った時
電源ケーブルを抜くなり、電源ボタンをいきなりオフにするなり、電力供給を突然、切る訳ですよね。それはシャットダウンではないので"強制シャットダウン"とは言いません。
強制シャットダウンと言うのであれば、「シャットダウンを抑止しているアプリを無視してシャットダウン処理を続行する。」ような意味です。(それはまぁ、あります)
電源ブチ切りであれば、Windows上のあらゆるイベントは発生するまでも無く電源OFFになるので、何らかの終了のイベントすら発生しません。
>電源ケーブルを抜くなり、電源ボタンをいきなりオフにするなり、電力供給を突然、切る訳ですよね。それはシャットダウンではないので"強制シャットダウン"とは言いません。
そうなんですね、勉強になりました。
他の方も言われている通り電源供給が止まったらイベントが起きないんですね。
ご教示ありがとうございました!
回答3件
あなたの回答
tips
プレビュー