From: Kazuhiro Fujieda Date: Sun, 2 May 2021 06:52:46 +0000 (+0900) Subject: OS再起動時に一覧ウィンドウが全部保存されないのを直す X-Git-Tag: v12.9~1 X-Git-Url: http://git.osdn.net/view?p=kancollesniffer%2FKancolleSniffer.git;a=commitdiff_plain;h=7b490d773386e7f9c19dec283ed8bdd9895daf97;hp=3b76f642b24ca73cb783a9676d03ec04e858d1fa OS再起動時に一覧ウィンドウが全部保存されないのを直す --- diff --git a/KancolleSniffer/Forms/ListFormGroup.cs b/KancolleSniffer/Forms/ListFormGroup.cs index 0cb956c..e9d58a7 100644 --- a/KancolleSniffer/Forms/ListFormGroup.cs +++ b/KancolleSniffer/Forms/ListFormGroup.cs @@ -100,5 +100,16 @@ namespace KancolleSniffer.Forms foreach (var listForm in _listForms) action(listForm); } + + public void WaitForCloseAll() + { + var start = DateTime.Now; + do + { + Application.DoEvents(); + if (_listForms.All(listFrom => !listFrom.Visible)) + return; + } while ((DateTime.Now - start).TotalSeconds < 5); + } } } \ No newline at end of file diff --git a/KancolleSniffer/MainWindow.cs b/KancolleSniffer/MainWindow.cs index 0b1460d..4b4fc85 100644 --- a/KancolleSniffer/MainWindow.cs +++ b/KancolleSniffer/MainWindow.cs @@ -256,6 +256,7 @@ namespace KancolleSniffer } if (!SystemShutdown) _listFormGroup.Close(); // 各自で終了処理するのでシャットダウン時は不要 + _listFormGroup.WaitForCloseAll(); Config.Location = (Form.WindowState == FormWindowState.Normal ? Form.Bounds : Form.RestoreBounds).Location; Config.ShowHpInPercent = _c.fleetPanel.ShowHpInPercent; }