From abfae4a9a0acd24f9559ca06dd4b94c214d2a5c7 Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Sun, 18 Oct 2020 13:36:01 +0800 Subject: [PATCH] refactor: MainForm change Enabled to change State --- Netch/Forms/MainForm.MenuStrip.cs | 19 ++++++++++++------- Netch/Forms/MainForm.cs | 4 ++-- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Netch/Forms/MainForm.MenuStrip.cs b/Netch/Forms/MainForm.MenuStrip.cs index b48b3d23..faf79b4e 100644 --- a/Netch/Forms/MainForm.MenuStrip.cs +++ b/Netch/Forms/MainForm.MenuStrip.cs @@ -298,32 +298,36 @@ namespace Netch.Forms private async void UninstallServiceToolStripMenuItem_Click(object sender, EventArgs e) { - Enabled = false; + State = State.Starting; StatusText(i18N.TranslateFormat("Uninstalling {0}", "NF Service")); + var result = false; try { await Task.Run(() => { if (NFController.UninstallDriver()) { - StatusText(i18N.TranslateFormat("{0} has been uninstalled", "NF Service")); + result = true; } }); } finally { - Enabled = true; + State = State.Stopped; + if (result) + StatusText(i18N.TranslateFormat("{0} has been uninstalled", "NF Service")); } } private async void reinstallTapDriverToolStripMenuItem_Click(object sender, EventArgs e) { + State = State.Starting; StatusText(i18N.TranslateFormat("Uninstalling {0}", "TUN/TAP driver")); - Enabled = false; + var result = false; try { await Task.Run(TUNTAP.deltapall); - StatusText(i18N.TranslateFormat("{0} has been uninstalled", "TUN/TAP driver")); + result = true; } catch (Exception exception) { @@ -331,8 +335,9 @@ namespace Netch.Forms } finally { - State = State.Waiting; - Enabled = true; + State = State.Stopped; + if (result) + StatusText(i18N.TranslateFormat("{0} has been uninstalled", "TUN/TAP driver")); } } diff --git a/Netch/Forms/MainForm.cs b/Netch/Forms/MainForm.cs index 2fa36c65..e07f3ec4 100644 --- a/Netch/Forms/MainForm.cs +++ b/Netch/Forms/MainForm.cs @@ -336,7 +336,7 @@ namespace Netch.Forms private async void SpeedPictureBox_Click(object sender, EventArgs e) { - Enabled = false; + State = State.Starting; StatusText(i18N.Translate("Testing")); try { @@ -344,7 +344,7 @@ namespace Netch.Forms } finally { - Enabled = true; + State = State.Stopped; StatusText(i18N.Translate("Test done")); Refresh(); }