* 重构下拉框组件配色

This commit is contained in:
Sunny 2022-03-29 23:55:38 +08:00
parent b988632507
commit cdbd479d5e
20 changed files with 71 additions and 75 deletions

Binary file not shown.

Binary file not shown.

View File

@ -65,7 +65,7 @@ namespace Sunny.UI
{ {
tip.IsScaled = true; tip.IsScaled = true;
float size = SubFont != null ? SubFont.Size : UIFontColor.SubFontSize; 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) protected override void Dispose(bool disposing)
@ -201,7 +201,7 @@ namespace Sunny.UI
if (tmpFont == null || !tmpFont.Size.EqualsFloat(size / UIDPIScale.DPIScale())) if (tmpFont == null || !tmpFont.Size.EqualsFloat(size / UIDPIScale.DPIScale()))
{ {
tmpFont?.Dispose(); tmpFont?.Dispose();
tmpFont = this.DPIScaleFont(Font, size); tmpFont = this.Font.DPIScaleFont(size);
} }
return tmpFont; return tmpFont;
@ -219,7 +219,7 @@ namespace Sunny.UI
if (tmpLegendFont == null || !tmpLegendFont.Size.EqualsFloat(size / UIDPIScale.DPIScale())) if (tmpLegendFont == null || !tmpLegendFont.Size.EqualsFloat(size / UIDPIScale.DPIScale()))
{ {
tmpLegendFont?.Dispose(); tmpLegendFont?.Dispose();
tmpLegendFont = this.DPIScaleFont(Font, size); tmpLegendFont = this.Font.DPIScaleFont(size);
} }
return tmpLegendFont; return tmpLegendFont;

View File

@ -605,7 +605,7 @@ namespace Sunny.UI
e.Graphics.FillRectangle(c, r); e.Graphics.FillRectangle(c, r);
} }
public override void SetStyle(UIBaseStyle uiColor) public override void SetStyleColor(UIBaseStyle uiColor)
{ {
base.SetStyleColor(uiColor); base.SetStyleColor(uiColor);
RectColor = uiColor.RectColor; RectColor = uiColor.RectColor;

View File

@ -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) private void DataGridView_DataSourceChanged(object sender, System.EventArgs e)
{ {
if (dataGridView.RowCount > 0) if (dataGridView.RowCount > 0)

View File

@ -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; treeView.Style = style.Name;
panel.Style = style.Name; panel.Style = style.Name;
btnOK.Style = style.Name; btnOK.Style = style.Name;

View File

@ -555,6 +555,8 @@ namespace Sunny.UI
b2.SetStyleColor(uiColor); b2.SetStyleColor(uiColor);
b3.SetStyleColor(uiColor); b3.SetStyleColor(uiColor);
b4.SetStyleColor(uiColor); b4.SetStyleColor(uiColor);
fillColor = Color.White;
foreColor = uiColor.DropDownPanelForeColor;
b1.FillColor = b2.FillColor = b3.FillColor = b4.FillColor = TopPanel.FillColor; b1.FillColor = b2.FillColor = b3.FillColor = b4.FillColor = TopPanel.FillColor;
RectColor = uiColor.RectColor; RectColor = uiColor.RectColor;

View File

@ -961,7 +961,13 @@ namespace Sunny.UI
public override void SetStyleColor(UIBaseStyle uiColor) public override void SetStyleColor(UIBaseStyle uiColor)
{ {
base.SetStyleColor(uiColor); base.SetStyleColor(uiColor);
FillColor = Color.White;
btnOK.SetStyleColor(uiColor);
btnCancel.SetStyleColor(uiColor);
fillColor = Color.White;
foreColor = uiColor.DropDownPanelForeColor;
b1.SetStyleColor(uiColor); b1.SetStyleColor(uiColor);
b2.SetStyleColor(uiColor); b2.SetStyleColor(uiColor);
b3.SetStyleColor(uiColor); b3.SetStyleColor(uiColor);
@ -989,13 +995,6 @@ namespace Sunny.UI
s1.SymbolColor = s2.SymbolColor = RectColor; 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) private void UITimeItem_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{ {
if (e.Delta < 0) if (e.Delta < 0)

View File

@ -286,7 +286,7 @@ namespace Sunny.UI
if (!edit.Visible) 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)); 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) public override void SetStyleColor(UIBaseStyle uiColor)
{ {
base.SetStyleColor(uiColor); base.SetStyleColor(uiColor);
foreColor = uiColor.DropDownControlColor; foreColor = uiColor.DropDownPanelForeColor;
edit.BackColor = fillColor = Color.White; edit.BackColor = fillColor = Color.White;
} }
@ -394,7 +394,7 @@ namespace Sunny.UI
ItemForm.SetRectColor(rectColor); ItemForm.SetRectColor(rectColor);
ItemForm.SetFillColor(fillColor); ItemForm.SetFillColor(fillColor);
ItemForm.SetForeColor(foreColor); ItemForm.SetForeColor(foreColor);
ItemForm.SetStyle(UIStyles.ActiveStyleColor); ItemForm.SetStyle(UIStyles.ActiveStyleColor.DropDownStyle);
} }
DropDown?.Invoke(this, e); DropDown?.Invoke(this, e);

View File

@ -344,7 +344,7 @@ namespace Sunny.UI
public void SetStyle(UIBaseStyle style) public void SetStyle(UIBaseStyle style)
{ {
Item?.SetStyle(style); Item?.SetStyleColor(style);
} }
} }
} }

View File

@ -94,10 +94,6 @@ namespace Sunny.UI
parent?.Close(); parent?.Close();
} }
public virtual void SetStyle(UIBaseStyle style)
{
}
public virtual void InitShow() public virtual void InitShow()
{ {

View File

@ -595,17 +595,13 @@ namespace Sunny.UI
Close(); Close();
} }
public override void SetStyle(UIBaseStyle style)
{
base.SetStyle(style);
btnOK.SetStyleColor(style);
btnCancel.SetStyleColor(style);
}
public override void SetStyleColor(UIBaseStyle uiColor) public override void SetStyleColor(UIBaseStyle uiColor)
{ {
base.SetStyleColor(uiColor); base.SetStyleColor(uiColor);
btnOK.SetStyleColor(uiColor);
btnCancel.SetStyleColor(uiColor);
h1.SetStyleColor(uiColor); h1.SetStyleColor(uiColor);
h2.SetStyleColor(uiColor); h2.SetStyleColor(uiColor);
m1.SetStyleColor(uiColor); m1.SetStyleColor(uiColor);

View File

@ -208,7 +208,7 @@ namespace Sunny.UI
public override void SetStyleColor(UIBaseStyle uiColor) public override void SetStyleColor(UIBaseStyle uiColor)
{ {
base.SetStyleColor(uiColor); base.SetStyleColor(uiColor);
ListBox.SetStyleColor(uiColor); ListBox.SetStyleColor(uiColor.DropDownStyle);
} }
public object DataSource public object DataSource

View File

@ -765,7 +765,7 @@ namespace Sunny.UI
if (tmpFont == null || !tmpFont.Size.EqualsFloat(TipsFont.DPIScaleFontSize())) if (tmpFont == null || !tmpFont.Size.EqualsFloat(TipsFont.DPIScaleFontSize()))
{ {
tmpFont?.Dispose(); tmpFont?.Dispose();
tmpFont = this.DPIScaleFont(TipsFont); tmpFont = TipsFont.DPIScaleFont();
} }
return tmpFont; return tmpFont;

View File

@ -697,6 +697,7 @@ namespace Sunny.UI
return Enabled ? (isReadOnly ? fillReadOnlyColor : fillColor) : fillDisableColor; return Enabled ? (isReadOnly ? fillReadOnlyColor : fillColor) : fillDisableColor;
} }
/// <summary> /// <summary>
/// 屏蔽原属性,获取或设置一个值,该值指示是否在 Windows 任务栏中显示窗体。 /// 屏蔽原属性,获取或设置一个值,该值指示是否在 Windows 任务栏中显示窗体。
/// </summary> /// </summary>

View File

@ -92,7 +92,7 @@ namespace Sunny.UI
if (!UIDPIScale.DPIScaleIsOne()) if (!UIDPIScale.DPIScaleIsOne())
{ {
TitleFont = this.DPIScaleFont(TitleFont); TitleFont = TitleFont.DPIScaleFont();
} }
foreach (Control control in this.GetAllDPIScaleControls()) foreach (Control control in this.GetAllDPIScaleControls())

View File

@ -50,9 +50,9 @@ namespace Sunny.UI
{ {
this.SetDPIScaleFont(); this.SetDPIScaleFont();
noteTitle.Font = noteTitle.DPIScaleFont(noteTitle.Font); noteTitle.Font = noteTitle.Font.DPIScaleFont();
noteContent.Font = noteContent.DPIScaleFont(noteContent.Font); noteContent.Font = noteContent.Font.DPIScaleFont();
noteDate.Font = noteDate.DPIScaleFont(noteDate.Font); noteDate.Font = noteDate.Font.DPIScaleFont();
foreach (Control control in this.GetAllDPIScaleControls()) foreach (Control control in this.GetAllDPIScaleControls())
{ {
@ -385,7 +385,7 @@ namespace Sunny.UI
//------------------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------------------
private void onMenuClick(object sender, EventArgs e) 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)); menu.Show(buttonMenu, new Point(0, buttonMenu.Height));
} }

View File

@ -85,7 +85,7 @@ namespace Sunny.UI
this.SetDPIScaleFont(); this.SetDPIScaleFont();
if (!UIDPIScale.DPIScaleIsOne()) if (!UIDPIScale.DPIScaleIsOne())
{ {
this.TitleFont = this.DPIScaleFont(this.TitleFont); this.TitleFont = TitleFont.DPIScaleFont();
} }
foreach (Control control in this.GetAllDPIScaleControls()) foreach (Control control in this.GetAllDPIScaleControls())

View File

@ -37,7 +37,7 @@ namespace Sunny.UI
return DPIScale().EqualsFloat(1); return DPIScale().EqualsFloat(1);
} }
public static float DPIScaleFontSize(this Control control, Font font) internal static float DPIScaleFontSize(this Font font)
{ {
if (UIStyles.DPIScale) if (UIStyles.DPIScale)
return font.Size / DPIScale(); return font.Size / DPIScale();
@ -45,43 +45,12 @@ namespace Sunny.UI
return font.Size; 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) internal static Font DPIScaleFont(this Font font, 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)
{ {
if (UIStyles.DPIScale) 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 (!UIStyles.DPIScale) return;
if (!UIDPIScale.DPIScaleIsOne()) if (!UIDPIScale.DPIScaleIsOne())
@ -107,12 +76,12 @@ namespace Sunny.UI
if (control is IStyleInterface ctrl) if (control is IStyleInterface ctrl)
{ {
if (!ctrl.IsScaled) if (!ctrl.IsScaled)
control.Font = control.DPIScaleFont(control.Font); control.Font = control.Font.DPIScaleFont();
} }
} }
} }
public static List<Control> GetAllDPIScaleControls(this Control control) internal static List<Control> GetAllDPIScaleControls(this Control control)
{ {
var list = new List<Control>(); var list = new List<Control>();
foreach (Control con in control.Controls) foreach (Control con in control.Controls)

View File

@ -174,8 +174,10 @@ namespace Sunny.UI
public virtual Color PanelTitleColor { get; protected set; } public virtual Color PanelTitleColor { get; protected set; }
public virtual Color PanelTitleForeColor { get; protected set; } public virtual Color PanelTitleForeColor { get; protected set; }
//DrawDownControl //DropDownControl
public virtual Color DropDownControlColor { get; protected set; } public virtual Color DropDownControlColor { get; protected set; }
public virtual Color DropDownPanelFillColor { get; protected set; }
public virtual Color DropDownPanelForeColor { get; protected set; }
//ListBox //ListBox
public virtual Color ListItemSelectBackColor { get; protected set; } public virtual Color ListItemSelectBackColor { get; protected set; }
@ -222,6 +224,8 @@ namespace Sunny.UI
protected Color ForeColor { get; set; } protected Color ForeColor { get; set; }
public UIBaseStyle DropDownStyle { get; protected set; }
public virtual UIBaseStyle Init(Color color, UIStyle style, Color reverseColor, Color foreColor) public virtual UIBaseStyle Init(Color color, UIStyle style, Color reverseColor, Color foreColor)
{ {
Name = style; Name = style;
@ -356,6 +360,8 @@ namespace Sunny.UI
TabControlBackColor = PlainColor; TabControlBackColor = PlainColor;
DropDownControlColor = foreColor; DropDownControlColor = foreColor;
DropDownPanelFillColor = PlainColor;
DropDownPanelForeColor = foreColor;
ListItemSelectBackColor = PrimaryColor; ListItemSelectBackColor = PrimaryColor;
ListItemSelectForeColor = PlainColor; ListItemSelectForeColor = PlainColor;
@ -384,6 +390,8 @@ namespace Sunny.UI
FlowLayoutPanelBarFillColor = PlainColor; FlowLayoutPanelBarFillColor = PlainColor;
FlowLayoutPanelBarForeColor = PrimaryColor; FlowLayoutPanelBarForeColor = PrimaryColor;
DropDownStyle = this;
return this; return this;
} }
@ -568,6 +576,12 @@ namespace Sunny.UI
ScrollingTextForeColor = ForeColor; ScrollingTextForeColor = ForeColor;
LogoForeColor = UIFontColor.Primary; LogoForeColor = UIFontColor.Primary;
DropDownControlColor = ForeColor;
DropDownPanelFillColor = UIColor.LightBlue;
DropDownPanelForeColor = UIFontColor.Primary;
DropDownStyle = UIStyles.Blue;
} }
} }
@ -674,6 +688,12 @@ namespace Sunny.UI
ScrollingTextForeColor = ForeColor; ScrollingTextForeColor = ForeColor;
LogoForeColor = UIFontColor.Primary; LogoForeColor = UIFontColor.Primary;
DropDownControlColor = ForeColor;
DropDownPanelFillColor = UIColor.LightBlue;
DropDownPanelForeColor = UIFontColor.Primary;
DropDownStyle = UIStyles.Blue;
} }
} }
} }