From b6aee6764f60010b967d319b73283c6736f2bdad Mon Sep 17 00:00:00 2001 From: H Date: Tue, 25 Aug 2020 20:44:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?button=20imagelistbox=20bug=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20checkbox=20switch=20=E5=8F=8C=E5=87=BB=E6=95=88?= =?UTF-8?q?=E7=8E=87=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SunnyUI/Controls/UIButton.cs | 2 +- SunnyUI/Controls/UICheckBox.cs | 22 ++++++++++++++++++++ SunnyUI/Controls/UIImageListBox.cs | 2 +- SunnyUI/Controls/UISwitch.cs | 33 ++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) diff --git a/SunnyUI/Controls/UIButton.cs b/SunnyUI/Controls/UIButton.cs index f78e4ed0..9c2049b0 100644 --- a/SunnyUI/Controls/UIButton.cs +++ b/SunnyUI/Controls/UIButton.cs @@ -92,7 +92,7 @@ namespace Sunny.UI if (useDoubleClick != value) { useDoubleClick = value; - SetStyle(ControlStyles.StandardDoubleClick, value); + SetStyle(ControlStyles.StandardDoubleClick, useDoubleClick); Invalidate(); } } diff --git a/SunnyUI/Controls/UICheckBox.cs b/SunnyUI/Controls/UICheckBox.cs index e23a1e0d..e51d07ac 100644 --- a/SunnyUI/Controls/UICheckBox.cs +++ b/SunnyUI/Controls/UICheckBox.cs @@ -41,6 +41,7 @@ namespace Sunny.UI Size = new Size(150, 29); foreColor = UIStyles.Blue.CheckBoxForeColor; fillColor = UIStyles.Blue.CheckBoxColor; + SetStyle(ControlStyles.StandardDoubleClick, UseDoubleClick); } public delegate void OnValueChanged(object sender, bool value); @@ -104,6 +105,27 @@ namespace Sunny.UI } } + private bool _useDoubleClick = false; + + [Description("是否启用双击事件"), Category("SunnyUI")] + [DefaultValue(false)] + public bool UseDoubleClick + { + get + { + return _useDoubleClick; + } + set + { + if (_useDoubleClick != value) + { + _useDoubleClick = value; + SetStyle(ControlStyles.StandardDoubleClick, _useDoubleClick); + Invalidate(); + } + } + } + protected override void OnPaintFore(Graphics g, GraphicsPath path) { //设置按钮标题位置 diff --git a/SunnyUI/Controls/UIImageListBox.cs b/SunnyUI/Controls/UIImageListBox.cs index de7b6e8f..32af1cc4 100644 --- a/SunnyUI/Controls/UIImageListBox.cs +++ b/SunnyUI/Controls/UIImageListBox.cs @@ -398,7 +398,7 @@ namespace Sunny.UI else if (e.Delta < -10) { int nposnum = si.nPos + temp * SystemInformation.MouseWheelScrollLines; - ScrollBarInfo.SetScrollValue(Handle, nposnum <= si.nMax ? nposnum : si.nMax); + ScrollBarInfo.SetScrollValue(Handle, nposnum <= si.ScrollMax ? nposnum : si.ScrollMax); } } diff --git a/SunnyUI/Controls/UISwitch.cs b/SunnyUI/Controls/UISwitch.cs index d68c24e6..26eecda2 100644 --- a/SunnyUI/Controls/UISwitch.cs +++ b/SunnyUI/Controls/UISwitch.cs @@ -137,12 +137,45 @@ namespace Sunny.UI set => SetRectColor(value); } + private bool useDoubleClick = false; + + [Description("是否启用双击事件"), Category("SunnyUI")] + [DefaultValue(false)] + public bool UseDoubleClick + { + get + { + return useDoubleClick; + } + set + { + if (useDoubleClick != value) + { + useDoubleClick = value; + Invalidate(); + } + } + } + protected override void OnClick(EventArgs e) { base.OnClick(e); Active = !Active; } + protected override void OnDoubleClick(EventArgs e) + { + if (!useDoubleClick) + { + base.OnClick(e); + Active = !Active; + } + else + { + base.OnDoubleClick(e); + } + } + public override void SetStyleColor(UIBaseStyle uiColor) { base.SetStyleColor(uiColor); From 32eb27dc09bcb877acee0dc7dbc815dad38cfb52 Mon Sep 17 00:00:00 2001 From: H Date: Wed, 26 Aug 2020 18:55:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=B0=83=E6=95=B4usebuttonclick=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SunnyUI.Demo/Controls/FButton.resx | 3 +++ SunnyUI/Controls/UIButton.cs | 21 --------------------- SunnyUI/Controls/UICheckBox.cs | 21 --------------------- SunnyUI/Controls/UIControl.cs | 21 +++++++++++++++++++++ SunnyUI/Controls/UISwitch.cs | 22 +--------------------- 5 files changed, 25 insertions(+), 63 deletions(-) diff --git a/SunnyUI.Demo/Controls/FButton.resx b/SunnyUI.Demo/Controls/FButton.resx index 3ea6cbca..eaa39c0c 100644 --- a/SunnyUI.Demo/Controls/FButton.resx +++ b/SunnyUI.Demo/Controls/FButton.resx @@ -120,6 +120,9 @@ 17, 17 + + 17, 17 + 52 diff --git a/SunnyUI/Controls/UIButton.cs b/SunnyUI/Controls/UIButton.cs index 9c2049b0..bdc66394 100644 --- a/SunnyUI/Controls/UIButton.cs +++ b/SunnyUI/Controls/UIButton.cs @@ -77,27 +77,6 @@ namespace Sunny.UI base.OnClick(e); } - private bool useDoubleClick = false; - - [Description("是否启用双击事件"), Category("SunnyUI")] - [DefaultValue(false)] - public bool UseDoubleClick - { - get - { - return useDoubleClick; - } - set - { - if (useDoubleClick != value) - { - useDoubleClick = value; - SetStyle(ControlStyles.StandardDoubleClick, useDoubleClick); - Invalidate(); - } - } - } - private bool showTips = false; [Description("是否显示角标"), Category("SunnyUI")] diff --git a/SunnyUI/Controls/UICheckBox.cs b/SunnyUI/Controls/UICheckBox.cs index e51d07ac..1645d260 100644 --- a/SunnyUI/Controls/UICheckBox.cs +++ b/SunnyUI/Controls/UICheckBox.cs @@ -105,27 +105,6 @@ namespace Sunny.UI } } - private bool _useDoubleClick = false; - - [Description("是否启用双击事件"), Category("SunnyUI")] - [DefaultValue(false)] - public bool UseDoubleClick - { - get - { - return _useDoubleClick; - } - set - { - if (_useDoubleClick != value) - { - _useDoubleClick = value; - SetStyle(ControlStyles.StandardDoubleClick, _useDoubleClick); - Invalidate(); - } - } - } - protected override void OnPaintFore(Graphics g, GraphicsPath path) { //设置按钮标题位置 diff --git a/SunnyUI/Controls/UIControl.cs b/SunnyUI/Controls/UIControl.cs index ded48a83..674948a7 100644 --- a/SunnyUI/Controls/UIControl.cs +++ b/SunnyUI/Controls/UIControl.cs @@ -266,6 +266,27 @@ namespace Sunny.UI } } + private bool useDoubleClick = false; + + [Description("是否启用双击事件"), Category("SunnyUI")] + [DefaultValue(false)] + public bool UseDoubleClick + { + get + { + return useDoubleClick; + } + set + { + if (useDoubleClick != value) + { + useDoubleClick = value; + //SetStyle(ControlStyles.StandardDoubleClick, useDoubleClick); + //Invalidate(); + } + } + } + /// /// OnPaint /// diff --git a/SunnyUI/Controls/UISwitch.cs b/SunnyUI/Controls/UISwitch.cs index 26eecda2..e667f3d5 100644 --- a/SunnyUI/Controls/UISwitch.cs +++ b/SunnyUI/Controls/UISwitch.cs @@ -137,26 +137,6 @@ namespace Sunny.UI set => SetRectColor(value); } - private bool useDoubleClick = false; - - [Description("是否启用双击事件"), Category("SunnyUI")] - [DefaultValue(false)] - public bool UseDoubleClick - { - get - { - return useDoubleClick; - } - set - { - if (useDoubleClick != value) - { - useDoubleClick = value; - Invalidate(); - } - } - } - protected override void OnClick(EventArgs e) { base.OnClick(e); @@ -165,7 +145,7 @@ namespace Sunny.UI protected override void OnDoubleClick(EventArgs e) { - if (!useDoubleClick) + if (!UseDoubleClick) { base.OnClick(e); Active = !Active;