From 8d10980875775f5cff00695c3c840291323b7ead Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Oct 2025 16:55:17 +0000 Subject: [PATCH 1/2] Initial plan From 9bcf7af467104ff96d6cb73eefbb7dcd592cbac2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Oct 2025 17:02:36 +0000 Subject: [PATCH 2/2] Fix Options panel not reopening after closing Set HideOnClose = true for OptionsWindow to prevent disposal when closed, and ensure embedded form is shown when window becomes visible again. Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com> --- mRemoteNG/UI/Window/OptionsWindow.cs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/mRemoteNG/UI/Window/OptionsWindow.cs b/mRemoteNG/UI/Window/OptionsWindow.cs index e8f4411a..6b07a754 100644 --- a/mRemoteNG/UI/Window/OptionsWindow.cs +++ b/mRemoteNG/UI/Window/OptionsWindow.cs @@ -77,15 +77,22 @@ namespace mRemoteNG.UI.Window protected override void OnFormClosing(FormClosingEventArgs e) { - // Detach the FrmOptions form so it can be reused - if (_optionsForm != null) - { - _optionsForm.VisibleChanged -= OptionsForm_VisibleChanged; - Controls.Remove(_optionsForm); - } + // With HideOnClose = true, we don't dispose the window + // so we keep the embedded form in Controls for reuse base.OnFormClosing(e); } + protected override void OnVisibleChanged(EventArgs e) + { + base.OnVisibleChanged(e); + + // When the window becomes visible, ensure the embedded form is also shown + if (Visible && _optionsForm != null && !_optionsForm.Visible) + { + _optionsForm.Show(); + } + } + public void SetActivatedPage(string pageName) { _optionsForm?.SetActivatedPage(pageName); @@ -100,6 +107,7 @@ namespace mRemoteNG.UI.Window // OptionsWindow // ClientSize = new System.Drawing.Size(800, 600); + HideOnClose = true; Name = "OptionsWindow"; Text = Language.Options; TabText = Language.Options;