diff --git a/Bin/net40/SunnyUI.dll b/Bin/net40/SunnyUI.dll
index 55034133..1f813a5a 100644
Binary files a/Bin/net40/SunnyUI.dll and b/Bin/net40/SunnyUI.dll differ
diff --git a/SunnyUI.Demo/Bin/SunnyUI.Demo.exe b/SunnyUI.Demo/Bin/SunnyUI.Demo.exe
index 79311e88..eb5a752d 100644
Binary files a/SunnyUI.Demo/Bin/SunnyUI.Demo.exe and b/SunnyUI.Demo/Bin/SunnyUI.Demo.exe differ
diff --git a/SunnyUI/Charts/UIChart.cs b/SunnyUI/Charts/UIChart.cs
index 9386fed0..1e951115 100644
--- a/SunnyUI/Charts/UIChart.cs
+++ b/SunnyUI/Charts/UIChart.cs
@@ -65,7 +65,7 @@ namespace Sunny.UI
{
tip.IsScaled = true;
float size = SubFont != null ? SubFont.Size : UIFontColor.SubFontSize;
- tip.Font = this.DPIScaleFont(Font, size);
+ tip.Font = this.Font.DPIScaleFont(size);
}
protected override void Dispose(bool disposing)
@@ -201,7 +201,7 @@ namespace Sunny.UI
if (tmpFont == null || !tmpFont.Size.EqualsFloat(size / UIDPIScale.DPIScale()))
{
tmpFont?.Dispose();
- tmpFont = this.DPIScaleFont(Font, size);
+ tmpFont = this.Font.DPIScaleFont(size);
}
return tmpFont;
@@ -219,7 +219,7 @@ namespace Sunny.UI
if (tmpLegendFont == null || !tmpLegendFont.Size.EqualsFloat(size / UIDPIScale.DPIScale()))
{
tmpLegendFont?.Dispose();
- tmpLegendFont = this.DPIScaleFont(Font, size);
+ tmpLegendFont = this.Font.DPIScaleFont(size);
}
return tmpLegendFont;
diff --git a/SunnyUI/Controls/DropItem/UIColorItem.cs b/SunnyUI/Controls/DropItem/UIColorItem.cs
index f2a8f278..e5380e6e 100644
--- a/SunnyUI/Controls/DropItem/UIColorItem.cs
+++ b/SunnyUI/Controls/DropItem/UIColorItem.cs
@@ -605,7 +605,7 @@ namespace Sunny.UI
e.Graphics.FillRectangle(c, r);
}
- public override void SetStyle(UIBaseStyle uiColor)
+ public override void SetStyleColor(UIBaseStyle uiColor)
{
base.SetStyleColor(uiColor);
RectColor = uiColor.RectColor;
diff --git a/SunnyUI/Controls/DropItem/UIComboDataGridViewItem.cs b/SunnyUI/Controls/DropItem/UIComboDataGridViewItem.cs
index 5895d5f3..f765f75e 100644
--- a/SunnyUI/Controls/DropItem/UIComboDataGridViewItem.cs
+++ b/SunnyUI/Controls/DropItem/UIComboDataGridViewItem.cs
@@ -264,6 +264,18 @@ namespace Sunny.UI
}
+ public override void SetStyleColor(UIBaseStyle uiColor)
+ {
+ base.SetStyleColor(uiColor);
+ pFilter.SetStyleColor(uiColor.DropDownStyle);
+ dataGridView.SetStyleColor(uiColor.DropDownStyle);
+ panel.SetStyleColor(uiColor.DropDownStyle);
+ edtFilter.SetStyleColor(uiColor.DropDownStyle);
+ btnOK.SetStyleColor(uiColor.DropDownStyle);
+ btnSearch.SetStyleColor(uiColor.DropDownStyle);
+ btnClear.SetStyleColor(uiColor.DropDownStyle);
+ }
+
private void DataGridView_DataSourceChanged(object sender, System.EventArgs e)
{
if (dataGridView.RowCount > 0)
diff --git a/SunnyUI/Controls/DropItem/UIComboTreeViewItem.cs b/SunnyUI/Controls/DropItem/UIComboTreeViewItem.cs
index fb65c7fb..8ae06963 100644
--- a/SunnyUI/Controls/DropItem/UIComboTreeViewItem.cs
+++ b/SunnyUI/Controls/DropItem/UIComboTreeViewItem.cs
@@ -150,8 +150,9 @@ namespace Sunny.UI
}
}
- public override void SetStyle(UIBaseStyle style)
+ public override void SetStyleColor(UIBaseStyle style)
{
+ base.SetStyleColor(style);
treeView.Style = style.Name;
panel.Style = style.Name;
btnOK.Style = style.Name;
diff --git a/SunnyUI/Controls/DropItem/UIDateItem.cs b/SunnyUI/Controls/DropItem/UIDateItem.cs
index cbeb96c5..9534f80f 100644
--- a/SunnyUI/Controls/DropItem/UIDateItem.cs
+++ b/SunnyUI/Controls/DropItem/UIDateItem.cs
@@ -555,6 +555,8 @@ namespace Sunny.UI
b2.SetStyleColor(uiColor);
b3.SetStyleColor(uiColor);
b4.SetStyleColor(uiColor);
+ fillColor = Color.White;
+ foreColor = uiColor.DropDownPanelForeColor;
b1.FillColor = b2.FillColor = b3.FillColor = b4.FillColor = TopPanel.FillColor;
RectColor = uiColor.RectColor;
diff --git a/SunnyUI/Controls/DropItem/UIDateTimeItem.cs b/SunnyUI/Controls/DropItem/UIDateTimeItem.cs
index 9500b08a..ca27417f 100644
--- a/SunnyUI/Controls/DropItem/UIDateTimeItem.cs
+++ b/SunnyUI/Controls/DropItem/UIDateTimeItem.cs
@@ -961,7 +961,13 @@ namespace Sunny.UI
public override void SetStyleColor(UIBaseStyle uiColor)
{
base.SetStyleColor(uiColor);
- FillColor = Color.White;
+
+ btnOK.SetStyleColor(uiColor);
+ btnCancel.SetStyleColor(uiColor);
+
+ fillColor = Color.White;
+ foreColor = uiColor.DropDownPanelForeColor;
+
b1.SetStyleColor(uiColor);
b2.SetStyleColor(uiColor);
b3.SetStyleColor(uiColor);
@@ -989,13 +995,6 @@ namespace Sunny.UI
s1.SymbolColor = s2.SymbolColor = RectColor;
}
- public override void SetStyle(UIBaseStyle style)
- {
- base.SetStyle(style);
- btnOK.SetStyleColor(style);
- btnCancel.SetStyleColor(style);
- }
-
private void UITimeItem_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Delta < 0)
diff --git a/SunnyUI/Controls/DropItem/UIDropControl.cs b/SunnyUI/Controls/DropItem/UIDropControl.cs
index bea247ea..03ac80c6 100644
--- a/SunnyUI/Controls/DropItem/UIDropControl.cs
+++ b/SunnyUI/Controls/DropItem/UIDropControl.cs
@@ -286,7 +286,7 @@ namespace Sunny.UI
if (!edit.Visible)
{
- base.OnPaintFore(g, path);
+ g.DrawString(Text, Font, GetForeColor(), Size, Padding, TextAlignment);
}
g.FillRectangle(GetFillColor(), new Rectangle(Width - 27, Radius / 2, 26, Height - Radius));
@@ -367,7 +367,7 @@ namespace Sunny.UI
public override void SetStyleColor(UIBaseStyle uiColor)
{
base.SetStyleColor(uiColor);
- foreColor = uiColor.DropDownControlColor;
+ foreColor = uiColor.DropDownPanelForeColor;
edit.BackColor = fillColor = Color.White;
}
@@ -394,7 +394,7 @@ namespace Sunny.UI
ItemForm.SetRectColor(rectColor);
ItemForm.SetFillColor(fillColor);
ItemForm.SetForeColor(foreColor);
- ItemForm.SetStyle(UIStyles.ActiveStyleColor);
+ ItemForm.SetStyle(UIStyles.ActiveStyleColor.DropDownStyle);
}
DropDown?.Invoke(this, e);
diff --git a/SunnyUI/Controls/DropItem/UIDropDown.cs b/SunnyUI/Controls/DropItem/UIDropDown.cs
index c78dad2d..f4a18f97 100644
--- a/SunnyUI/Controls/DropItem/UIDropDown.cs
+++ b/SunnyUI/Controls/DropItem/UIDropDown.cs
@@ -344,7 +344,7 @@ namespace Sunny.UI
public void SetStyle(UIBaseStyle style)
{
- Item?.SetStyle(style);
+ Item?.SetStyleColor(style);
}
}
}
\ No newline at end of file
diff --git a/SunnyUI/Controls/DropItem/UIDropDownItem.cs b/SunnyUI/Controls/DropItem/UIDropDownItem.cs
index 37f10c51..f2dc1f0c 100644
--- a/SunnyUI/Controls/DropItem/UIDropDownItem.cs
+++ b/SunnyUI/Controls/DropItem/UIDropDownItem.cs
@@ -94,10 +94,6 @@ namespace Sunny.UI
parent?.Close();
}
- public virtual void SetStyle(UIBaseStyle style)
- {
- }
-
public virtual void InitShow()
{
diff --git a/SunnyUI/Controls/DropItem/UITimeItem.cs b/SunnyUI/Controls/DropItem/UITimeItem.cs
index 8afa7621..76c272dd 100644
--- a/SunnyUI/Controls/DropItem/UITimeItem.cs
+++ b/SunnyUI/Controls/DropItem/UITimeItem.cs
@@ -595,17 +595,13 @@ namespace Sunny.UI
Close();
}
- public override void SetStyle(UIBaseStyle style)
- {
- base.SetStyle(style);
- btnOK.SetStyleColor(style);
- btnCancel.SetStyleColor(style);
- }
-
public override void SetStyleColor(UIBaseStyle uiColor)
{
base.SetStyleColor(uiColor);
+ btnOK.SetStyleColor(uiColor);
+ btnCancel.SetStyleColor(uiColor);
+
h1.SetStyleColor(uiColor);
h2.SetStyleColor(uiColor);
m1.SetStyleColor(uiColor);
diff --git a/SunnyUI/Controls/UIComboBox.cs b/SunnyUI/Controls/UIComboBox.cs
index 80e8bbec..3780acec 100644
--- a/SunnyUI/Controls/UIComboBox.cs
+++ b/SunnyUI/Controls/UIComboBox.cs
@@ -208,7 +208,7 @@ namespace Sunny.UI
public override void SetStyleColor(UIBaseStyle uiColor)
{
base.SetStyleColor(uiColor);
- ListBox.SetStyleColor(uiColor);
+ ListBox.SetStyleColor(uiColor.DropDownStyle);
}
public object DataSource
diff --git a/SunnyUI/Controls/UINavMenu.cs b/SunnyUI/Controls/UINavMenu.cs
index fa5f147e..55e61b8d 100644
--- a/SunnyUI/Controls/UINavMenu.cs
+++ b/SunnyUI/Controls/UINavMenu.cs
@@ -765,7 +765,7 @@ namespace Sunny.UI
if (tmpFont == null || !tmpFont.Size.EqualsFloat(TipsFont.DPIScaleFontSize()))
{
tmpFont?.Dispose();
- tmpFont = this.DPIScaleFont(TipsFont);
+ tmpFont = TipsFont.DPIScaleFont();
}
return tmpFont;
diff --git a/SunnyUI/Controls/UIPanel.cs b/SunnyUI/Controls/UIPanel.cs
index 4030b8c1..bbb3f9c2 100644
--- a/SunnyUI/Controls/UIPanel.cs
+++ b/SunnyUI/Controls/UIPanel.cs
@@ -697,6 +697,7 @@ namespace Sunny.UI
return Enabled ? (isReadOnly ? fillReadOnlyColor : fillColor) : fillDisableColor;
}
+
///
/// 屏蔽原属性,获取或设置一个值,该值指示是否在 Windows 任务栏中显示窗体。
///
diff --git a/SunnyUI/Forms/UIForm.cs b/SunnyUI/Forms/UIForm.cs
index 55cc4c29..4971f7d0 100644
--- a/SunnyUI/Forms/UIForm.cs
+++ b/SunnyUI/Forms/UIForm.cs
@@ -92,7 +92,7 @@ namespace Sunny.UI
if (!UIDPIScale.DPIScaleIsOne())
{
- TitleFont = this.DPIScaleFont(TitleFont);
+ TitleFont = TitleFont.DPIScaleFont();
}
foreach (Control control in this.GetAllDPIScaleControls())
diff --git a/SunnyUI/Forms/UINotifier.cs b/SunnyUI/Forms/UINotifier.cs
index fa97f144..db5c7ff6 100644
--- a/SunnyUI/Forms/UINotifier.cs
+++ b/SunnyUI/Forms/UINotifier.cs
@@ -50,9 +50,9 @@ namespace Sunny.UI
{
this.SetDPIScaleFont();
- noteTitle.Font = noteTitle.DPIScaleFont(noteTitle.Font);
- noteContent.Font = noteContent.DPIScaleFont(noteContent.Font);
- noteDate.Font = noteDate.DPIScaleFont(noteDate.Font);
+ noteTitle.Font = noteTitle.Font.DPIScaleFont();
+ noteContent.Font = noteContent.Font.DPIScaleFont();
+ noteDate.Font = noteDate.Font.DPIScaleFont();
foreach (Control control in this.GetAllDPIScaleControls())
{
@@ -385,7 +385,7 @@ namespace Sunny.UI
//-------------------------------------------------------------------------------------------------------------------------------
private void onMenuClick(object sender, EventArgs e)
{
- closeAllToolStripMenuItem.Font = menu.DPIScaleFont(menu.Font);
+ closeAllToolStripMenuItem.Font = menu.Font.DPIScaleFont();
menu.Show(buttonMenu, new Point(0, buttonMenu.Height));
}
diff --git a/SunnyUI/Frames/UIPage.cs b/SunnyUI/Frames/UIPage.cs
index feca78c8..2eddb386 100644
--- a/SunnyUI/Frames/UIPage.cs
+++ b/SunnyUI/Frames/UIPage.cs
@@ -85,7 +85,7 @@ namespace Sunny.UI
this.SetDPIScaleFont();
if (!UIDPIScale.DPIScaleIsOne())
{
- this.TitleFont = this.DPIScaleFont(this.TitleFont);
+ this.TitleFont = TitleFont.DPIScaleFont();
}
foreach (Control control in this.GetAllDPIScaleControls())
diff --git a/SunnyUI/Style/UIDPIScale.cs b/SunnyUI/Style/UIDPIScale.cs
index 05ef635c..579db752 100644
--- a/SunnyUI/Style/UIDPIScale.cs
+++ b/SunnyUI/Style/UIDPIScale.cs
@@ -37,7 +37,7 @@ namespace Sunny.UI
return DPIScale().EqualsFloat(1);
}
- public static float DPIScaleFontSize(this Control control, Font font)
+ internal static float DPIScaleFontSize(this Font font)
{
if (UIStyles.DPIScale)
return font.Size / DPIScale();
@@ -45,43 +45,12 @@ namespace Sunny.UI
return font.Size;
}
- public static float DPIScaleFontSize(this Font font)
+ internal static Font DPIScaleFont(this Font font)
{
- return font.Size.DPIScaleFontSize();
+ return DPIScaleFont(font, font.Size);
}
- public static float DPIScaleFontSize(this float fontSize)
- {
- if (UIStyles.DPIScale)
- return fontSize / DPIScale();
- else
- return fontSize;
- }
-
- public static Font DPIScaleFont(this Control control, Font font)
- {
- return control.DPIScaleFont(font, font.Size);
- }
-
- public static Font DPIScaleFont(this Font font)
- {
- if (UIStyles.DPIScale)
- {
- if (font.GdiCharSet == 134)
- return new Font(font.FontFamily, font.Size / DPIScale(), font.Style, font.Unit, font.GdiCharSet);
- else
- return new Font(font.FontFamily, font.Size / DPIScale());
- }
- else
- {
- if (font.GdiCharSet == 134)
- return new Font(font.FontFamily, font.Size, font.Style, font.Unit, font.GdiCharSet);
- else
- return new Font(font.FontFamily, font.Size);
- }
- }
-
- public static Font DPIScaleFont(this Control control, Font font, float fontSize)
+ internal static Font DPIScaleFont(this Font font, float fontSize)
{
if (UIStyles.DPIScale)
{
@@ -99,7 +68,7 @@ namespace Sunny.UI
}
}
- public static void SetDPIScaleFont(this Control control)
+ internal static void SetDPIScaleFont(this Control control)
{
if (!UIStyles.DPIScale) return;
if (!UIDPIScale.DPIScaleIsOne())
@@ -107,12 +76,12 @@ namespace Sunny.UI
if (control is IStyleInterface ctrl)
{
if (!ctrl.IsScaled)
- control.Font = control.DPIScaleFont(control.Font);
+ control.Font = control.Font.DPIScaleFont();
}
}
}
- public static List GetAllDPIScaleControls(this Control control)
+ internal static List GetAllDPIScaleControls(this Control control)
{
var list = new List();
foreach (Control con in control.Controls)
diff --git a/SunnyUI/Style/UIStyleColor.cs b/SunnyUI/Style/UIStyleColor.cs
index fab86488..afb3ce8d 100644
--- a/SunnyUI/Style/UIStyleColor.cs
+++ b/SunnyUI/Style/UIStyleColor.cs
@@ -174,8 +174,10 @@ namespace Sunny.UI
public virtual Color PanelTitleColor { get; protected set; }
public virtual Color PanelTitleForeColor { get; protected set; }
- //DrawDownControl
+ //DropDownControl
public virtual Color DropDownControlColor { get; protected set; }
+ public virtual Color DropDownPanelFillColor { get; protected set; }
+ public virtual Color DropDownPanelForeColor { get; protected set; }
//ListBox
public virtual Color ListItemSelectBackColor { get; protected set; }
@@ -222,6 +224,8 @@ namespace Sunny.UI
protected Color ForeColor { get; set; }
+ public UIBaseStyle DropDownStyle { get; protected set; }
+
public virtual UIBaseStyle Init(Color color, UIStyle style, Color reverseColor, Color foreColor)
{
Name = style;
@@ -356,6 +360,8 @@ namespace Sunny.UI
TabControlBackColor = PlainColor;
DropDownControlColor = foreColor;
+ DropDownPanelFillColor = PlainColor;
+ DropDownPanelForeColor = foreColor;
ListItemSelectBackColor = PrimaryColor;
ListItemSelectForeColor = PlainColor;
@@ -384,6 +390,8 @@ namespace Sunny.UI
FlowLayoutPanelBarFillColor = PlainColor;
FlowLayoutPanelBarForeColor = PrimaryColor;
+ DropDownStyle = this;
+
return this;
}
@@ -568,6 +576,12 @@ namespace Sunny.UI
ScrollingTextForeColor = ForeColor;
LogoForeColor = UIFontColor.Primary;
+
+ DropDownControlColor = ForeColor;
+ DropDownPanelFillColor = UIColor.LightBlue;
+ DropDownPanelForeColor = UIFontColor.Primary;
+
+ DropDownStyle = UIStyles.Blue;
}
}
@@ -674,6 +688,12 @@ namespace Sunny.UI
ScrollingTextForeColor = ForeColor;
LogoForeColor = UIFontColor.Primary;
+
+ DropDownControlColor = ForeColor;
+ DropDownPanelFillColor = UIColor.LightBlue;
+ DropDownPanelForeColor = UIFontColor.Primary;
+
+ DropDownStyle = UIStyles.Blue;
}
}
}
\ No newline at end of file