diff --git a/Bin/net40/SunnyUI.Demo.exe b/Bin/net40/SunnyUI.Demo.exe
index c038569f..9b590fc2 100644
Binary files a/Bin/net40/SunnyUI.Demo.exe and b/Bin/net40/SunnyUI.Demo.exe differ
diff --git a/Bin/net40/SunnyUI.dll b/Bin/net40/SunnyUI.dll
index 4553f662..ee504e39 100644
Binary files a/Bin/net40/SunnyUI.dll and b/Bin/net40/SunnyUI.dll differ
diff --git a/SunnyUI.Demo/Controls/FTextBox.Designer.cs b/SunnyUI.Demo/Controls/FTextBox.Designer.cs
index 573d55f7..6cac4b3c 100644
--- a/SunnyUI.Demo/Controls/FTextBox.Designer.cs
+++ b/SunnyUI.Demo/Controls/FTextBox.Designer.cs
@@ -55,6 +55,7 @@ namespace Sunny.UI.Demo
this.uiTextBox6.ButtonSymbol = 61761;
this.uiTextBox6.ButtonWidth = 100;
this.uiTextBox6.Cursor = System.Windows.Forms.Cursors.IBeam;
+ this.uiTextBox6.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiTextBox6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiTextBox6.Location = new System.Drawing.Point(117, 167);
this.uiTextBox6.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
@@ -74,6 +75,7 @@ namespace Sunny.UI.Demo
this.uiTextBox5.ButtonSymbol = 61761;
this.uiTextBox5.ButtonWidth = 100;
this.uiTextBox5.Cursor = System.Windows.Forms.Cursors.IBeam;
+ this.uiTextBox5.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiTextBox5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiTextBox5.Icon = global::Sunny.UI.Demo.Properties.Resources.Home_32x32;
this.uiTextBox5.Location = new System.Drawing.Point(117, 128);
@@ -93,6 +95,7 @@ namespace Sunny.UI.Demo
this.uiTextBox4.ButtonSymbol = 61761;
this.uiTextBox4.ButtonWidth = 100;
this.uiTextBox4.Cursor = System.Windows.Forms.Cursors.IBeam;
+ this.uiTextBox4.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiTextBox4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiTextBox4.Location = new System.Drawing.Point(30, 325);
this.uiTextBox4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
@@ -113,6 +116,7 @@ namespace Sunny.UI.Demo
// uiLine3
//
this.uiLine3.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.uiLine3.LineDashStyle = Sunny.UI.UILineDashStyle.None;
this.uiLine3.Location = new System.Drawing.Point(388, 286);
this.uiLine3.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine3.Name = "uiLine3";
@@ -124,6 +128,7 @@ namespace Sunny.UI.Demo
// uiLine2
//
this.uiLine2.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.uiLine2.LineDashStyle = Sunny.UI.UILineDashStyle.None;
this.uiLine2.Location = new System.Drawing.Point(30, 286);
this.uiLine2.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine2.Name = "uiLine2";
@@ -136,6 +141,7 @@ namespace Sunny.UI.Demo
//
this.uiRichTextBox1.AutoWordSelection = true;
this.uiRichTextBox1.FillColor = System.Drawing.Color.White;
+ this.uiRichTextBox1.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiRichTextBox1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiRichTextBox1.Location = new System.Drawing.Point(388, 325);
this.uiRichTextBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
@@ -153,6 +159,7 @@ namespace Sunny.UI.Demo
// uiLine5
//
this.uiLine5.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.uiLine5.LineDashStyle = Sunny.UI.UILineDashStyle.None;
this.uiLine5.Location = new System.Drawing.Point(388, 132);
this.uiLine5.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine5.Name = "uiLine5";
@@ -164,6 +171,7 @@ namespace Sunny.UI.Demo
// uiLine4
//
this.uiLine4.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.uiLine4.LineDashStyle = Sunny.UI.UILineDashStyle.None;
this.uiLine4.Location = new System.Drawing.Point(388, 55);
this.uiLine4.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine4.Name = "uiLine4";
@@ -175,6 +183,7 @@ namespace Sunny.UI.Demo
// uiLine1
//
this.uiLine1.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.uiLine1.LineDashStyle = Sunny.UI.UILineDashStyle.None;
this.uiLine1.Location = new System.Drawing.Point(30, 55);
this.uiLine1.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine1.Name = "uiLine1";
@@ -185,6 +194,7 @@ namespace Sunny.UI.Demo
//
// uiDoubleUpDown1
//
+ this.uiDoubleUpDown1.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiDoubleUpDown1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiDoubleUpDown1.Location = new System.Drawing.Point(388, 167);
this.uiDoubleUpDown1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
@@ -213,6 +223,7 @@ namespace Sunny.UI.Demo
this.uiTextBox3.ButtonWidth = 100;
this.uiTextBox3.CanEmpty = true;
this.uiTextBox3.Cursor = System.Windows.Forms.Cursors.IBeam;
+ this.uiTextBox3.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiTextBox3.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiTextBox3.Location = new System.Drawing.Point(117, 245);
this.uiTextBox3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
@@ -245,6 +256,7 @@ namespace Sunny.UI.Demo
this.uiTextBox2.CanEmpty = true;
this.uiTextBox2.Cursor = System.Windows.Forms.Cursors.IBeam;
this.uiTextBox2.DoubleValue = 5D;
+ this.uiTextBox2.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiTextBox2.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiTextBox2.IntValue = 5;
this.uiTextBox2.Location = new System.Drawing.Point(117, 206);
@@ -274,6 +286,7 @@ namespace Sunny.UI.Demo
//
// uiIntegerUpDown1
//
+ this.uiIntegerUpDown1.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiIntegerUpDown1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiIntegerUpDown1.Location = new System.Drawing.Point(388, 89);
this.uiIntegerUpDown1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
@@ -296,7 +309,7 @@ namespace Sunny.UI.Demo
//
this.uiTextBox1.ButtonSymbol = 61761;
this.uiTextBox1.Cursor = System.Windows.Forms.Cursors.IBeam;
- this.uiTextBox1.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
+ this.uiTextBox1.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiTextBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiTextBox1.Location = new System.Drawing.Point(117, 89);
this.uiTextBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
@@ -306,8 +319,6 @@ namespace Sunny.UI.Demo
this.uiTextBox1.Name = "uiTextBox1";
this.uiTextBox1.ShowButton = true;
this.uiTextBox1.Size = new System.Drawing.Size(221, 29);
- this.uiTextBox1.Style = Sunny.UI.UIStyle.Custom;
- this.uiTextBox1.StyleCustomMode = true;
this.uiTextBox1.TabIndex = 52;
this.uiTextBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiToolTip1.SetToolTip(this.uiTextBox1, "Hello world!");
diff --git a/SunnyUI/Controls/UITextBox.cs b/SunnyUI/Controls/UITextBox.cs
index 131ee464..871a3dff 100644
--- a/SunnyUI/Controls/UITextBox.cs
+++ b/SunnyUI/Controls/UITextBox.cs
@@ -29,6 +29,7 @@
* 2021-09-07: V3.0.6 增加按钮
* 2021-10-14: V3.0.8 调整最小高度限制
* 2021-10-15: V3.0.8 支持修改背景色
+ * 2022-01-07: V3.1.0 按钮支持自定义颜色
******************************************************************************/
using System;
@@ -758,6 +759,21 @@ namespace Sunny.UI
bar.FillColor = fillColor;
}
+ if (btn != null)
+ {
+ btn.ForeColor = uiColor.ButtonForeColor;
+ btn.FillColor = uiColor.ButtonFillColor;
+ btn.RectColor = uiColor.RectColor;
+
+ btn.FillHoverColor = uiColor.ButtonFillHoverColor;
+ btn.RectHoverColor = uiColor.RectHoverColor;
+ btn.ForeHoverColor = uiColor.ButtonForeHoverColor;
+
+ btn.FillPressColor = uiColor.ButtonFillPressColor;
+ btn.RectPressColor = uiColor.RectPressColor;
+ btn.ForePressColor = uiColor.ButtonForePressColor;
+ }
+
Invalidate();
}
@@ -1147,5 +1163,122 @@ namespace Sunny.UI
get => btn.SymbolOffset;
set => btn.SymbolOffset = value;
}
+
+ ///
+ /// 填充颜色,当值为背景色或透明色或空值则不填充
+ ///
+ [Description("按钮填充颜色"), Category("SunnyUI")]
+ [DefaultValue(typeof(Color), "80, 160, 255")]
+ public Color ButtonFillColor
+ {
+ get => btn.FillColor;
+ set
+ {
+ btn.FillColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
+
+ ///
+ /// 字体颜色
+ ///
+ [Description("按钮字体颜色"), Category("SunnyUI")]
+ [DefaultValue(typeof(Color), "White")]
+ public Color ButtonForeColor
+ {
+ get => btn.ForeColor;
+ set
+ {
+ btn.ForeColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
+
+ ///
+ /// 边框颜色
+ ///
+ [Description("按钮边框颜色"), Category("SunnyUI")]
+ [DefaultValue(typeof(Color), "80, 160, 255")]
+ public Color ButtonRectColor
+ {
+ get => btn.RectColor;
+ set
+ {
+ btn.RectColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
+
+ [DefaultValue(typeof(Color), "111, 168, 255"), Category("SunnyUI")]
+ [Description("按钮鼠标移上时填充颜色")]
+ public Color ButtonFillHoverColor
+ {
+ get => btn.FillHoverColor;
+ set
+ {
+ btn.FillHoverColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
+
+ [DefaultValue(typeof(Color), "White"), Category("SunnyUI")]
+ [Description("按钮鼠标移上时字体颜色")]
+ public Color ButtonForeHoverColor
+ {
+ get => btn.ForeHoverColor;
+ set
+ {
+ btn.ForeHoverColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
+
+ [DefaultValue(typeof(Color), "111, 168, 255"), Category("SunnyUI")]
+ [Description("鼠标移上时边框颜色")]
+ public Color ButtonRectHoverColor
+ {
+ get => btn.RectHoverColor;
+ set
+ {
+ btn.RectHoverColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
+
+ [DefaultValue(typeof(Color), "74, 131, 229"), Category("SunnyUI")]
+ [Description("按钮鼠标按下时填充颜色")]
+ public Color ButtonFillPressColor
+ {
+ get => btn.FillPressColor;
+ set
+ {
+ btn.FillPressColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
+
+ [DefaultValue(typeof(Color), "White"), Category("SunnyUI")]
+ [Description("按钮鼠标按下时字体颜色")]
+ public Color ButtonForePressColor
+ {
+ get => btn.ForePressColor;
+ set
+ {
+ btn.ForePressColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
+
+ [DefaultValue(typeof(Color), "74, 131, 229"), Category("SunnyUI")]
+ [Description("按钮鼠标按下时边框颜色")]
+ public Color ButtonRectPressColor
+ {
+ get => btn.RectPressColor;
+ set
+ {
+ btn.RectPressColor = value;
+ _style = UIStyle.Custom;
+ }
+ }
}
}
\ No newline at end of file