diff --git a/SunnyUI/Forms/UIForm2.cs b/SunnyUI/Forms/UIForm2.cs index 16136c63..83d8c492 100644 --- a/SunnyUI/Forms/UIForm2.cs +++ b/SunnyUI/Forms/UIForm2.cs @@ -665,32 +665,7 @@ namespace Sunny.UI if (InMaxBox) { InMaxBox = false; - if (!showFullScreen) - { - if (WindowState == FormWindowState.Maximized) - { - WindowState = FormWindowState.Normal; - if (Location.Y < 0) Location = new Point(Location.X, 0); - } - else - { - WindowState = FormWindowState.Maximized; - } - } - else - { - if (WindowState == FormWindowState.Maximized) - { - FormBorderStyle = FormBorderStyle.Sizable; - WindowState = FormWindowState.Normal; - if (Location.Y < 0) Location = new Point(Location.X, 0); - } - else - { - FormBorderStyle = FormBorderStyle.None; - WindowState = FormWindowState.Maximized; - } - } + ShowMaxOrNormal(); } if (InExtendBox) @@ -708,7 +683,36 @@ namespace Sunny.UI } } - private DateTime lastMouseDownTime; + private void ShowMaxOrNormal() + { + if (!showFullScreen) + { + if (WindowState == FormWindowState.Maximized) + { + WindowState = FormWindowState.Normal; + if (Location.Y < 0) Location = new Point(Location.X, 0); + } + else + { + WindowState = FormWindowState.Maximized; + } + } + else + { + if (WindowState == FormWindowState.Maximized) + { + FormBorderStyle = FormBorderStyle.Sizable; + WindowState = FormWindowState.Normal; + if (Location.Y < 0) Location = new Point(Location.X, 0); + } + else + { + FormBorderStyle = FormBorderStyle.None; + WindowState = FormWindowState.Maximized; + } + } + } + /// /// 重载鼠标按下事件 /// @@ -723,15 +727,15 @@ namespace Sunny.UI if (e.X > ControlBoxLeft) return; if (!Movable) return; - if (DateTime.Now - lastMouseDownTime <= TimeSpan.FromMilliseconds(500)) + if (e.Clicks == 1) { - lastMouseDownTime = DateTime.Now; - return; + Win32.User.ReleaseCapture(); + Win32.User.SendMessage(this.Handle, Win32.User.WM_SYSCOMMAND, Win32.User.SC_MOVE + Win32.User.HTCAPTION, 0); + } + else + { + ShowMaxOrNormal(); } - - lastMouseDownTime = DateTime.Now; - Win32.User.ReleaseCapture(); - Win32.User.SendMessage(this.Handle, Win32.User.WM_SYSCOMMAND, Win32.User.SC_MOVE + Win32.User.HTCAPTION, 0); } /// diff --git a/SunnyUI/SunnyUI.csproj b/SunnyUI/SunnyUI.csproj index da8c1b9e..21dcdc86 100644 --- a/SunnyUI/SunnyUI.csproj +++ b/SunnyUI/SunnyUI.csproj @@ -9,7 +9,7 @@ SunnyUI.Net 是基于.Net Framework 4.0~4.8、.Net6、.Net7 框架的 C# WinForm 开源控件库、工具类库、扩展类库、多页面开发框架。 CopyRight © SunnyUI.Net 2012-2023 GPL-3.0-only - 3.6.3.0 + 3.6.5.0 ShenYonghua SunnyUI.Net SunnyUI @@ -20,7 +20,7 @@ False D:\MyDocuments\Key\SunnyUI.pfx False - False + True False README.md @@ -81,7 +81,7 @@ - +