OSDN Git Service

一覧を閉じメインを最小化したときの挙動がおかしいのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Tue, 30 Apr 2019 12:30:26 +0000 (21:30 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Wed, 1 May 2019 12:41:18 +0000 (21:41 +0900)
KancolleSniffer/ListForm.cs
KancolleSniffer/MainForm.cs

index b34bd82..730d7e0 100644 (file)
@@ -255,6 +255,29 @@ namespace KancolleSniffer
             Hide();\r
         }\r
 \r
+        public void ChangeWindowState(FormWindowState newState)\r
+        {\r
+            if (!Visible)\r
+                return;\r
+            if (newState == FormWindowState.Minimized)\r
+            {\r
+                if (WindowState == FormWindowState.Normal)\r
+                    WindowState = FormWindowState.Minimized;\r
+                if (_config.HideOnMinimized)\r
+                    ShowInTaskbar = false;\r
+            }\r
+            else\r
+            {\r
+                if (WindowState == FormWindowState.Minimized)\r
+                {\r
+                    Application.DoEvents();\r
+                    if (_config.HideOnMinimized)\r
+                        ShowInTaskbar = true;\r
+                    WindowState = FormWindowState.Normal;\r
+                }\r
+            }\r
+        }\r
+\r
         private void ListForm_Activated(object sender, EventArgs e)\r
         {\r
             if (_suppressActivate.Check())\r
index 856eabc..98d32af 100644 (file)
@@ -424,21 +424,10 @@ namespace KancolleSniffer
             SuppressActivate.Start();\r
             if (WindowState == FormWindowState.Minimized)\r
             {\r
-                _listForm.WindowState = FormWindowState.Minimized;\r
                 if (Config.HideOnMinimized)\r
-                    _listForm.ShowInTaskbar = ShowInTaskbar = false;\r
+                    ShowInTaskbar = false;\r
             }\r
-            else if (_listForm.WindowState == FormWindowState.Minimized)\r
-            {\r
-                DoPaint();\r
-                _listForm.ShowInTaskbar = true;\r
-                _listForm.WindowState = FormWindowState.Normal;\r
-            }\r
-        }\r
-\r
-        private void DoPaint()\r
-        {\r
-            Application.DoEvents();\r
+            _listForm.ChangeWindowState(WindowState);\r
         }\r
 \r
         public TimeOutChecker SuppressActivate = new TimeOutChecker();\r