+ 字体图标增加旋转角度参数SymbolRotate
This commit is contained in:
parent
a266d608ff
commit
b333d5ebce
@ -29,6 +29,7 @@
|
||||
* 2023-08-28: V3.4.2 下拉框按钮图标增加编辑器
|
||||
* 2023-10-25: V3.5.1 修复在高DPI下,文字垂直不居中的问题
|
||||
* 2023-10-25: V3.5.1 修复在某些字体不显示下划线的问题
|
||||
* 2023-10-26: V3.5.1 字体图标增加旋转角度参数SymbolRotate
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -64,7 +65,7 @@ namespace Sunny.UI
|
||||
edit.Invalidate();
|
||||
Controls.Add(edit);
|
||||
|
||||
firstEditHeight = lastEditHeight = edit.Height;
|
||||
lastEditHeight = edit.Height;
|
||||
Width = 150;
|
||||
Height = 29;
|
||||
|
||||
@ -76,7 +77,6 @@ namespace Sunny.UI
|
||||
ControlBoxRect = new Rectangle(Width - 24, 0, 24, Height);
|
||||
}
|
||||
|
||||
int firstEditHeight = -1;
|
||||
int lastEditHeight = -1;
|
||||
private void Edit_SizeChanged(object sender, EventArgs e)
|
||||
{
|
||||
@ -103,7 +103,11 @@ namespace Sunny.UI
|
||||
protected override void OnFontChanged(EventArgs e)
|
||||
{
|
||||
base.OnFontChanged(e);
|
||||
if (DefaultFontSize < 0 && edit != null) edit.Font = this.Font;
|
||||
if (DefaultFontSize < 0 && edit != null)
|
||||
{
|
||||
edit.Font = this.Font;
|
||||
}
|
||||
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
@ -377,6 +381,7 @@ namespace Sunny.UI
|
||||
{
|
||||
Padding = new Padding(Padding.Left, Padding.Top, Padding.Right < 30 ? 30 : Padding.Right, Padding.Bottom < 2 ? 2 : Padding.Bottom);
|
||||
}
|
||||
|
||||
base.OnPaddingChanged(e);
|
||||
SizeChange();
|
||||
}
|
||||
@ -412,14 +417,6 @@ namespace Sunny.UI
|
||||
NoNeedChange = false;
|
||||
}
|
||||
|
||||
if (edit.Height + RectSize * 2 + 2 < firstEditHeight && Height > firstEditHeight)
|
||||
{
|
||||
NoNeedChange = true;
|
||||
Height = firstEditHeight;
|
||||
edit.Top = (Height - edit.Height) / 2;
|
||||
NoNeedChange = false;
|
||||
}
|
||||
|
||||
if (edit.Top != (Height - edit.Height) / 2 + 1)
|
||||
{
|
||||
edit.Top = (Height - edit.Height) / 2 + 1;
|
||||
|
@ -19,6 +19,7 @@
|
||||
* 2020-01-01: V2.2.0 增加文件说明
|
||||
* 2022-03-19: V3.1.1 重构主题配色
|
||||
* 2023-05-12: V3.3.6 重构DrawString函数
|
||||
* 2023-10-26: V3.5.1 字体图标增加旋转角度参数SymbolRotate
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -242,6 +243,26 @@ namespace Sunny.UI
|
||||
}
|
||||
}
|
||||
|
||||
private int _symbolRotate = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
[DefaultValue(0)]
|
||||
[Description("字体图标旋转角度"), Category("SunnyUI")]
|
||||
public int SymbolRotate
|
||||
{
|
||||
get => _symbolRotate;
|
||||
set
|
||||
{
|
||||
if (_symbolRotate != value)
|
||||
{
|
||||
_symbolRotate = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Point textOffset = new Point(0, 0);
|
||||
|
||||
/// <summary>
|
||||
@ -366,7 +387,7 @@ namespace Sunny.UI
|
||||
if (Icon == UIIcon.Symbol)
|
||||
{
|
||||
e.Graphics.DrawFontImage(symbol, symbolSize, ForeColor, new Rectangle((Width - avatarSize) / 2 + 1 + SymbolOffset.X,
|
||||
(Height - avatarSize) / 2 + 1 + SymbolOffset.Y, avatarSize, avatarSize));
|
||||
(Height - avatarSize) / 2 + 1 + SymbolOffset.Y, avatarSize, avatarSize), 0, 0, SymbolRotate);
|
||||
}
|
||||
|
||||
if (Icon == UIIcon.Text)
|
||||
|
@ -26,6 +26,7 @@
|
||||
* 2022-03-19: V3.1.1 重构主题配色
|
||||
* 2023-05-13: V3.3.6 重构DrawString函数
|
||||
* 2023-05-16: V3.3.6 重构DrawFontImage函数
|
||||
* 2023-10-26: V3.5.1 字体图标增加旋转角度参数SymbolRotate
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -245,6 +246,26 @@ namespace Sunny.UI
|
||||
}
|
||||
}
|
||||
|
||||
private int _symbolRotate = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
[DefaultValue(0)]
|
||||
[Description("字体图标旋转角度"), Category("SunnyUI")]
|
||||
public int SymbolRotate
|
||||
{
|
||||
get => _symbolRotate;
|
||||
set
|
||||
{
|
||||
if (_symbolRotate != value)
|
||||
{
|
||||
_symbolRotate = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置主题样式
|
||||
/// </summary>
|
||||
@ -638,7 +659,7 @@ namespace Sunny.UI
|
||||
}
|
||||
|
||||
e.Graphics.FillEllipse(bcColor, (Width - CircleSize) / 2.0f - 1, Height - Padding.Bottom - CircleSize - 1, CircleSize, CircleSize);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(0, Height - Padding.Bottom - CircleSize, Width, CircleSize), symbolOffset.X, symbolOffset.Y);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(0, Height - Padding.Bottom - CircleSize, Width, CircleSize), symbolOffset.X, symbolOffset.Y, SymbolRotate);
|
||||
}
|
||||
else if (Image != null)
|
||||
{
|
||||
@ -661,7 +682,7 @@ namespace Sunny.UI
|
||||
}
|
||||
|
||||
e.Graphics.FillEllipse(bcColor, Padding.Left - 1, (Height - CircleSize) / 2.0f - 1, CircleSize, CircleSize);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(Padding.Left, 0, CircleSize, Height), symbolOffset.X, symbolOffset.Y);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(Padding.Left, 0, CircleSize, Height), symbolOffset.X, symbolOffset.Y, SymbolRotate);
|
||||
}
|
||||
else if (Image != null)
|
||||
{
|
||||
@ -688,7 +709,7 @@ namespace Sunny.UI
|
||||
}
|
||||
|
||||
e.Graphics.FillEllipse(bcColor, Width - Padding.Right - CircleSize - 1, (Height - CircleSize) / 2.0f - 1, CircleSize, CircleSize);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(Width - Padding.Right - CircleSize, 0, CircleSize, Height), symbolOffset.X, symbolOffset.Y);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(Width - Padding.Right - CircleSize, 0, CircleSize, Height), symbolOffset.X, symbolOffset.Y, SymbolRotate);
|
||||
}
|
||||
else if (Image != null)
|
||||
{
|
||||
@ -711,7 +732,7 @@ namespace Sunny.UI
|
||||
}
|
||||
|
||||
e.Graphics.FillEllipse(bcColor, (Width - CircleSize) / 2.0f - 1, Padding.Top - 1, CircleSize, CircleSize);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(0, Padding.Top, Width, CircleSize), symbolOffset.X, symbolOffset.Y);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(0, Padding.Top, Width, CircleSize), symbolOffset.X, symbolOffset.Y, SymbolRotate);
|
||||
}
|
||||
else if (Image != null)
|
||||
{
|
||||
|
@ -19,6 +19,7 @@
|
||||
* 2020-01-01: V2.2.0 增加文件说明
|
||||
* 2022-04-14: V3.1.3 重构扩展函数
|
||||
* 2022-11-29: V3.3.0 重构RemovePage方法
|
||||
* 2023-10-26: V3.5.1 字体图标增加旋转角度参数SymbolRotate
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -72,6 +73,11 @@ namespace Sunny.UI
|
||||
return this[node] == null ? new Point(0, 0) : Items[node].SymbolOffset;
|
||||
}
|
||||
|
||||
public int GetSymbolRotate(TreeNode node)
|
||||
{
|
||||
return this[node] == null ? 0 : Items[node].SymbolRotate;
|
||||
}
|
||||
|
||||
public int GetPageIndex(TreeNode node)
|
||||
{
|
||||
return this[node] == null ? -1 : Items[node].PageIndex;
|
||||
@ -120,17 +126,18 @@ namespace Sunny.UI
|
||||
Items[node].PageGuid = guid;
|
||||
}
|
||||
|
||||
public void SetSymbol(TreeNode node, int symbol, int symbolSize = 32)
|
||||
public void SetSymbol(TreeNode node, int symbol, int symbolSize = 32, int symbolRotate = 0)
|
||||
{
|
||||
if (node == null) return;
|
||||
|
||||
CreateIfNotExist(node);
|
||||
Items[node].Symbol = symbol;
|
||||
Items[node].SymbolSize = symbolSize;
|
||||
Items[node].SymbolRotate = symbolRotate;
|
||||
node.TreeView.Invalidate();
|
||||
}
|
||||
|
||||
public void SetSymbol(TreeNode node, int symbol, Point symbolOffset, int symbolSize = 32)
|
||||
public void SetSymbol(TreeNode node, int symbol, Point symbolOffset, int symbolSize = 32, int symbolRotate = 0)
|
||||
{
|
||||
if (node == null) return;
|
||||
|
||||
@ -138,6 +145,7 @@ namespace Sunny.UI
|
||||
Items[node].Symbol = symbol;
|
||||
Items[node].SymbolSize = symbolSize;
|
||||
Items[node].SymbolOffset = symbolOffset;
|
||||
Items[node].SymbolRotate = symbolRotate;
|
||||
node.TreeView.Invalidate();
|
||||
}
|
||||
|
||||
@ -554,6 +562,11 @@ namespace Sunny.UI
|
||||
/// </summary>
|
||||
public Point SymbolOffset { get; set; } = new Point(0, 0);
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
public int SymbolRotate { get; set; } = 0;
|
||||
|
||||
public int PageIndex { get; set; }
|
||||
|
||||
public string TipsText { get; set; }
|
||||
@ -584,6 +597,8 @@ namespace Sunny.UI
|
||||
PageGuid = page.PageGuid;
|
||||
Symbol = page.Symbol;
|
||||
SymbolSize = page.SymbolSize;
|
||||
SymbolOffset = page.SymbolOffset;
|
||||
SymbolRotate = page.SymbolRotate;
|
||||
AlwaysOpen = page.AlwaysOpen;
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
* 2022-03-19: V3.1.1 重构主题配色
|
||||
* 2023-05-12: V3.3.6 重构DrawString函数
|
||||
* 2023-05-16: V3.3.6 重构DrawFontImage函数
|
||||
* 2023-10-26: V3.5.1 字体图标增加旋转角度参数SymbolRotate
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -108,6 +109,26 @@ namespace Sunny.UI
|
||||
}
|
||||
}
|
||||
|
||||
private int _symbolRotate = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
[DefaultValue(0)]
|
||||
[Description("字体图标旋转角度"), Category("SunnyUI")]
|
||||
public int SymbolRotate
|
||||
{
|
||||
get => _symbolRotate;
|
||||
set
|
||||
{
|
||||
if (_symbolRotate != value)
|
||||
{
|
||||
_symbolRotate = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DefaultValue(0)]
|
||||
[Description("图标和文字间间隔"), Category("SunnyUI")]
|
||||
public int ImageInterval
|
||||
@ -289,9 +310,9 @@ namespace Sunny.UI
|
||||
}
|
||||
|
||||
if (Text.IsNullOrEmpty())
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, symbolColor, new RectangleF((Width - SymbolSize) / 2.0f, (Height - SymbolSize) / 2.0f, SymbolSize, SymbolSize), SymbolOffset.X, SymbolOffset.Y);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, symbolColor, new RectangleF((Width - SymbolSize) / 2.0f, (Height - SymbolSize) / 2.0f, SymbolSize, SymbolSize), SymbolOffset.X, SymbolOffset.Y, SymbolRotate);
|
||||
else
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, symbolColor, new Rectangle(rect.Left, rect.Top, SymbolSize, rect.Height), SymbolOffset.X, SymbolOffset.Y);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, symbolColor, new Rectangle(rect.Left, rect.Top, SymbolSize, rect.Height), SymbolOffset.X, SymbolOffset.Y, SymbolRotate);
|
||||
|
||||
e.Graphics.DrawString(Text, Font, ForeColor, rect, ContentAlignment.MiddleRight);
|
||||
}
|
||||
|
@ -53,6 +53,7 @@
|
||||
* 2023-08-24: V3.4.2 修复了Enabled为false时,自定义颜色,文字不显示的问题
|
||||
* 2023-10-25: V3.5.1 修复在高DPI下,文字垂直不居中的问题
|
||||
* 2023-10-25: V3.5.1 修复在某些字体不显示下划线的问题
|
||||
* 2023-10-26: V3.5.1 字体图标增加旋转角度参数SymbolRotate
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -119,6 +120,7 @@ namespace Sunny.UI
|
||||
btn.BackColor = Color.Transparent;
|
||||
btn.Click += Btn_Click;
|
||||
btn.Radius = 3;
|
||||
btn.SymbolOffset = new Point(-1, 1);
|
||||
|
||||
edit.Invalidate();
|
||||
Controls.Add(edit);
|
||||
@ -132,7 +134,7 @@ namespace Sunny.UI
|
||||
bar.MouseEnter += Bar_MouseEnter;
|
||||
TextAlignment = ContentAlignment.MiddleLeft;
|
||||
|
||||
firstEditHeight = lastEditHeight = edit.Height;
|
||||
lastEditHeight = edit.Height;
|
||||
Width = 150;
|
||||
Height = 29;
|
||||
|
||||
@ -140,7 +142,6 @@ namespace Sunny.UI
|
||||
TextAlignmentChange += UITextBox_TextAlignmentChange;
|
||||
}
|
||||
|
||||
int firstEditHeight = -1;
|
||||
int lastEditHeight = -1;
|
||||
private void Edit_SizeChanged(object sender, EventArgs e)
|
||||
{
|
||||
@ -674,7 +675,9 @@ namespace Sunny.UI
|
||||
base.OnFontChanged(e);
|
||||
|
||||
if (DefaultFontSize < 0 && edit != null)
|
||||
{
|
||||
edit.Font = this.Font;
|
||||
}
|
||||
|
||||
Invalidate();
|
||||
}
|
||||
@ -735,14 +738,6 @@ namespace Sunny.UI
|
||||
NoNeedChange = false;
|
||||
}
|
||||
|
||||
if (edit.Height + RectSize * 2 + 2 < firstEditHeight && Height > firstEditHeight)
|
||||
{
|
||||
NoNeedChange = true;
|
||||
Height = firstEditHeight;
|
||||
edit.Top = (Height - edit.Height) / 2;
|
||||
NoNeedChange = false;
|
||||
}
|
||||
|
||||
if (edit.Top != (Height - edit.Height) / 2 + 1)
|
||||
{
|
||||
edit.Top = (Height - edit.Height) / 2 + 1;
|
||||
@ -1320,7 +1315,7 @@ namespace Sunny.UI
|
||||
}
|
||||
else if (Symbol != 0)
|
||||
{
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(4 + symbolOffset.X, (Height - SymbolSize) / 2 + 1 + symbolOffset.Y, SymbolSize, SymbolSize), SymbolOffset.X, SymbolOffset.Y);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, SymbolColor, new Rectangle(4 + symbolOffset.X, (Height - SymbolSize) / 2 + 1 + symbolOffset.Y, SymbolSize, SymbolSize), SymbolOffset.X, SymbolOffset.Y, SymbolRotate);
|
||||
}
|
||||
|
||||
if (styleCustomMode && Text.IsValid() && NeedDrawDisabledText)
|
||||
@ -1415,6 +1410,26 @@ namespace Sunny.UI
|
||||
}
|
||||
}
|
||||
|
||||
private int _symbolRotate = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
[DefaultValue(0)]
|
||||
[Description("字体图标旋转角度"), Category("SunnyUI")]
|
||||
public int SymbolRotate
|
||||
{
|
||||
get => _symbolRotate;
|
||||
set
|
||||
{
|
||||
if (_symbolRotate != value)
|
||||
{
|
||||
_symbolRotate = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||
[Editor("Sunny.UI.UIImagePropertyEditor, " + AssemblyRefEx.SystemDesign, typeof(UITypeEditor))]
|
||||
[DefaultValue(361761)]
|
||||
@ -1433,7 +1448,7 @@ namespace Sunny.UI
|
||||
set => btn.SymbolSize = value;
|
||||
}
|
||||
|
||||
[DefaultValue(typeof(Point), "0, 1")]
|
||||
[DefaultValue(typeof(Point), "-1, 1")]
|
||||
[Description("按钮字体图标的偏移位置"), Category("SunnyUI")]
|
||||
public Point ButtonSymbolOffset
|
||||
{
|
||||
@ -1441,6 +1456,17 @@ namespace Sunny.UI
|
||||
set => btn.SymbolOffset = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
[DefaultValue(0)]
|
||||
[Description("按钮字体图标旋转角度"), Category("SunnyUI")]
|
||||
public int ButtonSymbolRotate
|
||||
{
|
||||
get => btn.SymbolRotate;
|
||||
set => btn.SymbolRotate = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 填充颜色,当值为背景色或透明色或空值则不填充
|
||||
/// </summary>
|
||||
|
@ -21,6 +21,7 @@
|
||||
* 2021-08-16: V3.0.6 增加ToolTip接口,解决类似UITextBox这类的组合控件无法显示ToolTip的问题
|
||||
* 2021-12-09: V3.0.9 修复默认显示
|
||||
* 2023-05-14: V3.3.6 重构DrawString函数
|
||||
* 2023-10-26: V3.5.1 字体图标增加旋转角度参数SymbolRotate
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -74,7 +75,7 @@ namespace Sunny.UI
|
||||
}
|
||||
|
||||
public void SetToolTip(Control control, string caption, string title, int symbol, int symbolSize,
|
||||
Color symbolColor)
|
||||
Color symbolColor, int symbolRotate = 0)
|
||||
{
|
||||
if (title == null) title = string.Empty;
|
||||
|
||||
@ -85,6 +86,7 @@ namespace Sunny.UI
|
||||
ToolTipControls[control].Symbol = symbol;
|
||||
ToolTipControls[control].SymbolSize = symbolSize;
|
||||
ToolTipControls[control].SymbolColor = symbolColor;
|
||||
ToolTipControls[control].SymbolRotate = symbolRotate;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -95,7 +97,8 @@ namespace Sunny.UI
|
||||
ToolTipText = caption,
|
||||
Symbol = symbol,
|
||||
SymbolSize = symbolSize,
|
||||
SymbolColor = symbolColor
|
||||
SymbolColor = symbolColor,
|
||||
SymbolRotate = symbolRotate
|
||||
};
|
||||
|
||||
ToolTipControls.TryAdd(control, ctrl);
|
||||
@ -103,7 +106,7 @@ namespace Sunny.UI
|
||||
|
||||
if (control is IToolTip toolTip)
|
||||
{
|
||||
SetToolTip(toolTip.ExToolTipControl(), caption, title, symbol, symbolSize, symbolColor);
|
||||
SetToolTip(toolTip.ExToolTipControl(), caption, title, symbol, symbolSize, symbolColor, symbolRotate);
|
||||
}
|
||||
|
||||
base.SetToolTip(control, caption);
|
||||
@ -264,6 +267,11 @@ namespace Sunny.UI
|
||||
/// </summary>
|
||||
public Point SymbolOffset { get; set; } = new Point(0, 0);
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
public int SymbolRotate { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标颜色
|
||||
/// </summary>
|
||||
|
@ -31,6 +31,8 @@ namespace Sunny.UI
|
||||
int SymbolSize { get; set; }
|
||||
|
||||
Point SymbolOffset { get; set; }
|
||||
|
||||
int SymbolRotate { get; set; }
|
||||
}
|
||||
|
||||
public enum UISymbolType
|
||||
|
@ -341,6 +341,11 @@ namespace Sunny.UI
|
||||
/// </summary>
|
||||
public int SymbolSize { get; set; } = 28;
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
public int SymbolRotate { get; set; } = 0;
|
||||
|
||||
private void lbl_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
if (sender is Label lbl)
|
||||
|
@ -39,6 +39,7 @@
|
||||
* 2023-05-12: V3.3.6 重构DrawString函数
|
||||
* 2023-07-27: V3.4.1 默认提示弹窗TopMost为true
|
||||
* 2023-10-09: V3.5.0 增加一个在窗体显示后延时执行的事件
|
||||
* 2023-10-26: V3.5.1 字体图标增加旋转角度参数SymbolRotate
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -348,6 +349,26 @@ namespace Sunny.UI
|
||||
}
|
||||
}
|
||||
|
||||
private int _symbolRotate = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 字体图标旋转角度
|
||||
/// </summary>
|
||||
[DefaultValue(0)]
|
||||
[Description("字体图标旋转角度"), Category("SunnyUI")]
|
||||
public int SymbolRotate
|
||||
{
|
||||
get => _symbolRotate;
|
||||
set
|
||||
{
|
||||
if (_symbolRotate != value)
|
||||
{
|
||||
_symbolRotate = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DefaultValue(false), Description("在Frame框架中不被关闭"), Category("SunnyUI")]
|
||||
public bool AlwaysOpen
|
||||
{
|
||||
@ -631,7 +652,7 @@ namespace Sunny.UI
|
||||
if (!AllowShowTitle) return;
|
||||
if (Symbol > 0)
|
||||
{
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, TitleForeColor, new Rectangle(ImageInterval, 0, SymbolSize, TitleHeight), SymbolOffset.X, SymbolOffset.Y);
|
||||
e.Graphics.DrawFontImage(Symbol, SymbolSize, TitleForeColor, new Rectangle(ImageInterval, 0, SymbolSize, TitleHeight), SymbolOffset.X, SymbolOffset.Y, SymbolRotate);
|
||||
}
|
||||
|
||||
e.Graphics.DrawString(Text, TitleFont, TitleForeColor, new Rectangle(Symbol > 0 ? ImageInterval * 2 + SymbolSize : ImageInterval, 0, Width, TitleHeight), ContentAlignment.MiddleLeft);
|
||||
|
Loading…
x
Reference in New Issue
Block a user