diff --git a/SunnyUI/Controls/UIMiniPagination.cs b/SunnyUI/Controls/UIMiniPagination.cs index 0a2c7462..e3ab1f71 100644 --- a/SunnyUI/Controls/UIMiniPagination.cs +++ b/SunnyUI/Controls/UIMiniPagination.cs @@ -20,6 +20,7 @@ * 2023-06-14: V3.3.9 按钮图标位置修正 * 2023-06-27: V3.3.9 内置按钮关联值由Tag改为TagString * 2023-08-30: V3.4.2 左右跳转按钮的文字换成字体图标 + * 2024-05-29: V3.6.6 优化按钮自定义配色逻辑 ******************************************************************************/ using System; @@ -135,23 +136,6 @@ namespace Sunny.UI } } - /// - /// 设置主题样式 - /// - /// 主题样式 - public override void SetStyleColor(UIBaseStyle uiColor) - { - base.SetStyleColor(uiColor); - foreach (var button in buttons.Values) - { - button.SetStyleColor(uiColor); - button.FillColor = uiColor.PlainColor; - button.SymbolColor = button.ForeColor = uiColor.PaginationForeColor; - button.FillSelectedColor = uiColor.ButtonFillColor; - button.BackColor = Color.Transparent; - } - } - public override void SetDPIScale() { base.SetDPIScale(); @@ -592,7 +576,6 @@ namespace Sunny.UI this.b16.TagString = ">"; this.b16.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.b16.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0); - this.b16.LocationChanged += new System.EventHandler(this.b16_LocationChanged); // // UIMiniPagination // @@ -768,16 +751,6 @@ namespace Sunny.UI } } - private void b16_LocationChanged(object sender, EventArgs e) - { - - } - - private void btnSelect_Click(object sender, EventArgs e) - { - //ActivePage = edtPage.IntValue; - } - private void SetDataConnection(object newDataSource, BindingMemberInfo newDisplayMember) { var dataSourceChanged = dataSource != newDataSource; @@ -821,5 +794,151 @@ namespace Sunny.UI } public event OnPageChangeEventHandler PageChanged; + + /// + /// 设置主题样式 + /// + /// 主题样式 + public override void SetStyleColor(UIBaseStyle uiColor) + { + base.SetStyleColor(uiColor); + foreach (var button in buttons.Values) + { + button.SetStyleColor(uiColor); + button.FillColor = button.RectColor = uiColor.ButtonFillColor; + button.SymbolColor = button.ForeColor = uiColor.ButtonForeColor; + b0.RectSelectedColor = button.FillSelectedColor = uiColor.ButtonFillSelectedColor; + } + } + + /// + /// 填充颜色,当值为背景色或透明色或空值则不填充 + /// + [Description("按钮填充颜色"), Category("SunnyUI")] + [DefaultValue(typeof(Color), "80, 160, 255")] + public Color ButtonFillColor + { + get => b0.FillColor; + set + { + foreach (var button in buttons.Values) + { + button.RectColor = button.FillColor = value; + button.Style = UIStyle.Custom; + } + } + } + + /// + /// 字体颜色 + /// + [Description("按钮字体颜色"), Category("SunnyUI")] + [DefaultValue(typeof(Color), "White")] + public Color ButtonForeColor + { + get => b0.ForeColor; + set + { + foreach (var button in buttons.Values) + { + button.SymbolColor = button.ForeColor = value; + button.Style = UIStyle.Custom; + } + } + } + + [DefaultValue(typeof(Color), "115, 179, 255"), Category("SunnyUI")] + [Description("按钮鼠标移上时填充颜色")] + public Color ButtonFillHoverColor + { + get => b0.FillHoverColor; + set + { + foreach (var button in buttons.Values) + { + button.RectHoverColor = button.FillHoverColor = value; + button.Style = UIStyle.Custom; + } + } + } + + [DefaultValue(typeof(Color), "White"), Category("SunnyUI")] + [Description("按钮鼠标移上时字体颜色")] + public Color ButtonForeHoverColor + { + get => b0.ForeHoverColor; + set + { + foreach (var button in buttons.Values) + { + button.SymbolHoverColor = button.ForeHoverColor = value; + button.Style = UIStyle.Custom; + } + } + } + + [DefaultValue(typeof(Color), "64, 128, 204"), Category("SunnyUI")] + [Description("按钮鼠标按下时填充颜色")] + public Color ButtonFillPressColor + { + get => b0.FillPressColor; + set + { + foreach (var button in buttons.Values) + { + button.RectPressColor = button.FillPressColor = value; + button.Style = UIStyle.Custom; + } + } + } + + [DefaultValue(typeof(Color), "White"), Category("SunnyUI")] + [Description("按钮鼠标按下时字体颜色")] + public Color ButtonForePressColor + { + get => b0.ForePressColor; + set + { + foreach (var button in buttons.Values) + { + button.SymbolPressColor = button.ForePressColor = value; + button.Style = UIStyle.Custom; + } + } + } + + [DefaultValue(typeof(Color), "White"), Category("SunnyUI")] + [Description("按钮鼠标按下时字体颜色")] + public Color ButtonFillSelectedColor + { + get => b0.FillSelectedColor; + set + { + foreach (var button in buttons.Values) + { + button.RectSelectedColor = button.FillSelectedColor = value; + button.Style = UIStyle.Custom; + } + } + } + + /// + /// 滚动条主题样式 + /// + [DefaultValue(true), Description("滚动条主题样式"), Category("SunnyUI")] + public bool ButtonStyleInherited + { + get => b0 != null && b0.Style == UIStyle.Inherited; + set + { + if (value && b0 != null) + { + foreach (var button in buttons.Values) + { + button.Style = UIStyle.Inherited; + } + } + } + } } } diff --git a/SunnyUI/Controls/UIPagination.cs b/SunnyUI/Controls/UIPagination.cs index c3a2fd62..4ae76bd3 100644 --- a/SunnyUI/Controls/UIPagination.cs +++ b/SunnyUI/Controls/UIPagination.cs @@ -947,10 +947,10 @@ namespace Sunny.UI get => b0.FillColor; set { - foreach (var b0 in buttons.Values) + foreach (var button in buttons.Values) { - b0.RectColor = b0.FillColor = value; - b0.Style = UIStyle.Custom; + button.RectColor = button.FillColor = value; + button.Style = UIStyle.Custom; } edtPage.RectColor = btnSelect.RectColor = btnSelect.FillColor = value; @@ -968,10 +968,10 @@ namespace Sunny.UI get => b0.ForeColor; set { - foreach (var b0 in buttons.Values) + foreach (var button in buttons.Values) { - b0.SymbolColor = b0.ForeColor = value; - b0.Style = UIStyle.Custom; + button.SymbolColor = button.ForeColor = value; + button.Style = UIStyle.Custom; } btnSelect.SymbolColor = btnSelect.ForeColor = value; @@ -986,10 +986,10 @@ namespace Sunny.UI get => b0.FillHoverColor; set { - foreach (var b0 in buttons.Values) + foreach (var button in buttons.Values) { - b0.RectHoverColor = b0.FillHoverColor = value; - b0.Style = UIStyle.Custom; + button.RectHoverColor = button.FillHoverColor = value; + button.Style = UIStyle.Custom; } btnSelect.RectHoverColor = btnSelect.FillHoverColor = value; @@ -1004,10 +1004,10 @@ namespace Sunny.UI get => b0.ForeHoverColor; set { - foreach (var b0 in buttons.Values) + foreach (var button in buttons.Values) { - b0.SymbolHoverColor = b0.ForeHoverColor = value; - b0.Style = UIStyle.Custom; + button.SymbolHoverColor = button.ForeHoverColor = value; + button.Style = UIStyle.Custom; } btnSelect.SymbolHoverColor = btnSelect.ForeHoverColor = value; @@ -1022,10 +1022,10 @@ namespace Sunny.UI get => b0.FillPressColor; set { - foreach (var b0 in buttons.Values) + foreach (var button in buttons.Values) { - b0.RectPressColor = b0.FillPressColor = value; - b0.Style = UIStyle.Custom; + button.RectPressColor = button.FillPressColor = value; + button.Style = UIStyle.Custom; } btnSelect.RectPressColor = btnSelect.FillPressColor = value; @@ -1040,10 +1040,10 @@ namespace Sunny.UI get => b0.ForePressColor; set { - foreach (var b0 in buttons.Values) + foreach (var button in buttons.Values) { - b0.SymbolPressColor = b0.ForePressColor = value; - b0.Style = UIStyle.Custom; + button.SymbolPressColor = button.ForePressColor = value; + button.Style = UIStyle.Custom; } btnSelect.SymbolPressColor = btnSelect.ForePressColor = value; @@ -1058,10 +1058,10 @@ namespace Sunny.UI get => b0.FillSelectedColor; set { - foreach (var b0 in buttons.Values) + foreach (var button in buttons.Values) { - b0.RectSelectedColor = b0.FillSelectedColor = value; - b0.Style = UIStyle.Custom; + button.RectSelectedColor = button.FillSelectedColor = value; + button.Style = UIStyle.Custom; } } } @@ -1077,9 +1077,9 @@ namespace Sunny.UI { if (value && b0 != null) { - foreach (var b0 in buttons.Values) + foreach (var button in buttons.Values) { - b0.Style = UIStyle.Inherited; + button.Style = UIStyle.Inherited; } btnSelect.Style = UIStyle.Inherited;