From a266d608ffe30c9d94decb2f157700928a65502f Mon Sep 17 00:00:00 2001 From: Sunny Date: Thu, 26 Oct 2023 11:01:28 +0800 Subject: [PATCH] =?UTF-8?q?*=20UITextBox:=20=E4=BF=AE=E6=94=B9=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E5=AD=97=E4=BD=93=E8=B0=83=E6=95=B4=E5=90=8E=E7=9A=84?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SunnyUI/Controls/DropItem/UIDropControl.cs | 11 ++++++++++- SunnyUI/Controls/UITextBox.cs | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/SunnyUI/Controls/DropItem/UIDropControl.cs b/SunnyUI/Controls/DropItem/UIDropControl.cs index d564cbbe..5765f519 100644 --- a/SunnyUI/Controls/DropItem/UIDropControl.cs +++ b/SunnyUI/Controls/DropItem/UIDropControl.cs @@ -64,7 +64,7 @@ namespace Sunny.UI edit.Invalidate(); Controls.Add(edit); - lastEditHeight = edit.Height; + firstEditHeight = lastEditHeight = edit.Height; Width = 150; Height = 29; @@ -76,6 +76,7 @@ namespace Sunny.UI ControlBoxRect = new Rectangle(Width - 24, 0, 24, Height); } + int firstEditHeight = -1; int lastEditHeight = -1; private void Edit_SizeChanged(object sender, EventArgs e) { @@ -411,6 +412,14 @@ namespace Sunny.UI NoNeedChange = false; } + if (edit.Height + RectSize * 2 + 2 < firstEditHeight && Height > firstEditHeight) + { + NoNeedChange = true; + Height = firstEditHeight; + edit.Top = (Height - edit.Height) / 2; + NoNeedChange = false; + } + if (edit.Top != (Height - edit.Height) / 2 + 1) { edit.Top = (Height - edit.Height) / 2 + 1; diff --git a/SunnyUI/Controls/UITextBox.cs b/SunnyUI/Controls/UITextBox.cs index 3cdc497c..1d35ea03 100644 --- a/SunnyUI/Controls/UITextBox.cs +++ b/SunnyUI/Controls/UITextBox.cs @@ -132,7 +132,7 @@ namespace Sunny.UI bar.MouseEnter += Bar_MouseEnter; TextAlignment = ContentAlignment.MiddleLeft; - lastEditHeight = edit.Height; + firstEditHeight = lastEditHeight = edit.Height; Width = 150; Height = 29; @@ -140,6 +140,7 @@ namespace Sunny.UI TextAlignmentChange += UITextBox_TextAlignmentChange; } + int firstEditHeight = -1; int lastEditHeight = -1; private void Edit_SizeChanged(object sender, EventArgs e) { @@ -734,6 +735,14 @@ namespace Sunny.UI NoNeedChange = false; } + if (edit.Height + RectSize * 2 + 2 < firstEditHeight && Height > firstEditHeight) + { + NoNeedChange = true; + Height = firstEditHeight; + edit.Top = (Height - edit.Height) / 2; + NoNeedChange = false; + } + if (edit.Top != (Height - edit.Height) / 2 + 1) { edit.Top = (Height - edit.Height) / 2 + 1;