From 98d280d9f045a44ada3bf0af85c03ffd747548d1 Mon Sep 17 00:00:00 2001 From: Sunny Date: Fri, 29 Nov 2024 09:35:54 +0800 Subject: [PATCH] =?UTF-8?q?*=20UITabControl:=20=E4=BF=AE=E5=A4=8D=E4=BA=86?= =?UTF-8?q?SelectedIndex=3D-1=E6=97=B6=E7=9A=84=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SunnyUI/Controls/UITabControl.cs | 3 ++- SunnyUI/Controls/UITabControlHelper.cs | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/SunnyUI/Controls/UITabControl.cs b/SunnyUI/Controls/UITabControl.cs index 58a7bd76..742a6824 100644 --- a/SunnyUI/Controls/UITabControl.cs +++ b/SunnyUI/Controls/UITabControl.cs @@ -33,9 +33,9 @@ * 2023-05-12: V3.3.6 重构DrawString函数 * 2023-11-06: V3.5.2 重构主题 * 2023-12-13: V3.6.2 优化UIPage的Init和Final加载逻辑 + * 2024-11-29: V3.8.0 修复了SelectedIndex=-1时的报错 ******************************************************************************/ -using Sunny.UI.Win32; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -43,6 +43,7 @@ using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; +using Sunny.UI.Win32; namespace Sunny.UI { diff --git a/SunnyUI/Controls/UITabControlHelper.cs b/SunnyUI/Controls/UITabControlHelper.cs index cabddcaf..405eb2f1 100644 --- a/SunnyUI/Controls/UITabControlHelper.cs +++ b/SunnyUI/Controls/UITabControlHelper.cs @@ -100,7 +100,7 @@ namespace Sunny.UI { if (pageIndex < 0) return false; - if (PageItems.TryGetValue(tabControl.SelectedTab, out var fromPage)) + if (tabControl.SelectedTab != null && PageItems.TryGetValue(tabControl.SelectedTab, out var fromPage)) { bool isCancel = fromPage.OnPageDeselecting(); if (isCancel) return false; @@ -122,7 +122,7 @@ namespace Sunny.UI { if (pageGuid == Guid.Empty) return false; - if (PageItems.TryGetValue(tabControl.SelectedTab, out var fromPage)) + if (tabControl.SelectedTab != null && PageItems.TryGetValue(tabControl.SelectedTab, out var fromPage)) { bool isCancel = fromPage.OnPageDeselecting(); if (isCancel) return false; @@ -142,7 +142,7 @@ namespace Sunny.UI public UIPage GetPage(TabPage tabPage) { - if (PageItems.TryGetValue(tabControl.SelectedTab, out var uiPage)) + if (tabControl.SelectedTab != null && PageItems.TryGetValue(tabControl.SelectedTab, out var uiPage)) return uiPage; return null; }