+ 字体图标:增加FontAwesome V5.15版本字体图标

This commit is contained in:
Sunny 2021-06-16 11:41:39 +08:00
parent bfd641cbf8
commit 1979ed3819
18 changed files with 3364 additions and 1739 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@
* 2020-01-01: V2.2.0 * 2020-01-01: V2.2.0
* 2020-05-21: V2.2.5 * 2020-05-21: V2.2.5
* https://gitee.com/maikebing * https://gitee.com/maikebing
* 2021-06-15: V3.0.4 FontAwesomeV5的字体图标
******************************************************************************/ ******************************************************************************/
using System; using System;
@ -40,41 +41,44 @@ namespace Sunny.UI
/// <summary> /// <summary>
/// AwesomeFont /// AwesomeFont
/// </summary> /// </summary>
public static FontImages AwesomeFont; public static readonly FontImages FontAwesomeV4;
/// <summary> /// <summary>
/// ElegantFont /// ElegantFont
/// </summary> /// </summary>
public static FontImages ElegantFont; public static readonly FontImages ElegantIcons;
/// <summary>
/// FontAwesomeV5Brands
/// </summary>
public static readonly FontImages FontAwesomeV5Brands;
/// <summary>
/// FontAwesomeV5Regular
/// </summary>
public static readonly FontImages FontAwesomeV5Regular;
/// <summary>
/// FontAwesomeV5Solid
/// </summary>
public static readonly FontImages FontAwesomeV5Solid;
public const int FontAwesomeV4Count = 786;
public const int ElegantIconsCount = 360;
public const int FontAwesomeV5RegularCount = 151;
public const int FontAwesomeV5SolidCount = 1001;
public const int FontAwesomeV5BrandsCount = 457;
/// <summary> /// <summary>
/// 构造函数 /// 构造函数
/// </summary> /// </summary>
static FontImageHelper() static FontImageHelper()
{ {
AwesomeFont = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.FontAwesome.ttf")); FontAwesomeV4 = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.FontAwesome.ttf"));
ElegantFont = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.ElegantIcons.ttf")); ElegantIcons = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.ElegantIcons.ttf"));
} FontAwesomeV5Brands = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.fa-brands-400.ttf"));
FontAwesomeV5Regular = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.fa-regular-400.ttf"));
/// <summary> FontAwesomeV5Solid = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.fa-solid-900.ttf"));
/// 从系统资源中保存字体文件
/// </summary>
/// <param name="file">字体文件名</param>
/// <param name="resource">资源名称</param>
private static void CreateFontFile(string file, string resource)
{
if (!File.Exists(file))
{
Stream fontStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);
if (fontStream != null)
{
byte[] buffer = new byte[fontStream.Length];
fontStream.Read(buffer, 0, (int)fontStream.Length);
fontStream.Close();
File.WriteAllBytes(file, buffer);
}
}
} }
private static byte[] ReadFontFileFromResource(string name) private static byte[] ReadFontFileFromResource(string name)
@ -87,6 +91,7 @@ namespace Sunny.UI
fontStream.Read(buffer, 0, (int)fontStream.Length); fontStream.Read(buffer, 0, (int)fontStream.Length);
fontStream.Close(); fontStream.Close();
} }
return buffer; return buffer;
} }
@ -97,9 +102,10 @@ namespace Sunny.UI
/// <param name="symbol">字符</param> /// <param name="symbol">字符</param>
/// <param name="symbolSize">大小</param> /// <param name="symbolSize">大小</param>
/// <returns>字体大小</returns> /// <returns>字体大小</returns>
public static SizeF GetFontImageSize(this Graphics graphics, int symbol, int symbolSize) public static SizeF GetFontImageSize(this Graphics graphics, int symbol, int symbolSize,
UISymbolType symbolType = UISymbolType.FontAwesomeV4)
{ {
Font font = GetFont(symbol, symbolSize); Font font = GetFont(symbol, symbolSize, symbolType);
if (font == null) if (font == null)
{ {
return new SizeF(0, 0); return new SizeF(0, 0);
@ -119,10 +125,68 @@ namespace Sunny.UI
/// <param name="top">上</param> /// <param name="top">上</param>
/// <param name="xOffset">左右偏移</param> /// <param name="xOffset">左右偏移</param>
/// <param name="yOffSet">上下偏移</param> /// <param name="yOffSet">上下偏移</param>
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color, float left, float top, int xOffset = 0, int yOffSet = 0) public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color,
float left, float top, int xOffset = 0, int yOffSet = 0)
{ {
UISymbolType symbolType = (UISymbolType)symbol.Div(100000);
graphics.DrawFontImage(symbol, symbolSize, color, left, top, xOffset, yOffSet, symbolType);
}
/// <summary>
/// 绘制字体图片
/// </summary>
/// <param name="graphics">GDI绘图</param>
/// <param name="symbol">字符</param>
/// <param name="symbolSize">大小</param>
/// <param name="color">颜色</param>
/// <param name="rect">区域</param>
/// <param name="xOffset">左右偏移</param>
/// <param name="yOffSet">上下偏移</param>
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color,
Rectangle rect, int xOffset = 0, int yOffSet = 0)
{
UISymbolType symbolType = (UISymbolType)symbol.Div(100000);
SizeF sf = graphics.GetFontImageSize(symbol, symbolSize, symbolType);
graphics.DrawFontImage(symbol, symbolSize, color, rect.Left + ((rect.Width - sf.Width) / 2.0f).RoundEx(),
rect.Top + ((rect.Height - sf.Height) / 2.0f).RoundEx(), xOffset, yOffSet, symbolType);
}
/// <summary>
/// 绘制字体图片
/// </summary>
/// <param name="graphics">GDI绘图</param>
/// <param name="symbol">字符</param>
/// <param name="symbolSize">大小</param>
/// <param name="color">颜色</param>
/// <param name="rect">区域</param>
/// <param name="xOffset">左右偏移</param>
/// <param name="yOffSet">上下偏移</param>
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color,
RectangleF rect, int xOffset = 0, int yOffSet = 0)
{
UISymbolType symbolType = (UISymbolType)symbol.Div(100000);
SizeF sf = graphics.GetFontImageSize(symbol, symbolSize, symbolType);
graphics.DrawFontImage(symbol, symbolSize, color, rect.Left + ((rect.Width - sf.Width) / 2.0f).RoundEx(),
rect.Top + ((rect.Height - sf.Height) / 2.0f).RoundEx(), xOffset, yOffSet, symbolType);
}
/// <summary>
/// 绘制字体图片
/// </summary>
/// <param name="graphics">GDI绘图</param>
/// <param name="symbol">字符</param>
/// <param name="symbolSize">大小</param>
/// <param name="color">颜色</param>
/// <param name="left">左</param>
/// <param name="top">上</param>
/// <param name="xOffset">左右偏移</param>
/// <param name="yOffSet">上下偏移</param>
private static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color,
float left, float top, int xOffset, int yOffSet, UISymbolType symbolType)
{
symbol = symbol.Mod(100000);
//字体 //字体
Font font = GetFont(symbol, symbolSize); Font font = GetFont(symbol, symbolSize, symbolType);
if (font == null) if (font == null)
{ {
return; return;
@ -130,42 +194,10 @@ namespace Sunny.UI
string text = char.ConvertFromUtf32(symbol); string text = char.ConvertFromUtf32(symbol);
graphics.TextRenderingHint = TextRenderingHint.AntiAlias; graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
graphics.InterpolationMode = InterpolationMode.HighQualityBilinear;
graphics.DrawString(text, font, color, left + xOffset, top + yOffSet); graphics.DrawString(text, font, color, left + xOffset, top + yOffSet);
graphics.TextRenderingHint = TextRenderingHint.SystemDefault; graphics.TextRenderingHint = TextRenderingHint.SystemDefault;
} graphics.InterpolationMode = InterpolationMode.Default;
/// <summary>
/// 绘制字体图片
/// </summary>
/// <param name="graphics">GDI绘图</param>
/// <param name="symbol">字符</param>
/// <param name="symbolSize">大小</param>
/// <param name="color">颜色</param>
/// <param name="rect">区域</param>
/// <param name="xOffset">左右偏移</param>
/// <param name="yOffSet">上下偏移</param>
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color, Rectangle rect, int xOffset = 0, int yOffSet = 0)
{
SizeF sf = graphics.GetFontImageSize(symbol, symbolSize);
graphics.DrawFontImage(symbol, symbolSize, color, rect.Left + ((rect.Width - sf.Width) / 2.0f).RoundEx(),
rect.Top + ((rect.Height - sf.Height) / 2.0f).RoundEx(), xOffset, yOffSet);
}
/// <summary>
/// 绘制字体图片
/// </summary>
/// <param name="graphics">GDI绘图</param>
/// <param name="symbol">字符</param>
/// <param name="symbolSize">大小</param>
/// <param name="color">颜色</param>
/// <param name="rect">区域</param>
/// <param name="xOffset">左右偏移</param>
/// <param name="yOffSet">上下偏移</param>
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color, RectangleF rect, int xOffset = 0, int yOffSet = 0)
{
SizeF sf = graphics.GetFontImageSize(symbol, symbolSize);
graphics.DrawFontImage(symbol, symbolSize, color, rect.Left + ((rect.Width - sf.Width) / 2.0f).RoundEx(),
rect.Top + ((rect.Height - sf.Height) / 2.0f).RoundEx(), xOffset, yOffSet);
} }
/// <summary> /// <summary>
@ -175,14 +207,14 @@ namespace Sunny.UI
/// <param name="size">大小</param> /// <param name="size">大小</param>
/// <param name="color">颜色</param> /// <param name="color">颜色</param>
/// <returns>图片</returns> /// <returns>图片</returns>
public static Image CreateImage(int symbol, int size, Color color) public static Image CreateImage(int symbol, int size, Color color, UISymbolType symbolType = UISymbolType.FontAwesomeV4)
{ {
Bitmap image = new Bitmap(size, size); Bitmap image = new Bitmap(size, size);
using (Graphics g = image.Graphics()) using (Graphics g = image.Graphics())
{ {
SizeF sf = g.GetFontImageSize(symbol, size); SizeF sf = g.GetFontImageSize(symbol, size, symbolType);
g.DrawFontImage(symbol, size, color, (image.Width - sf.Width) / 2.0f, (image.Height - sf.Height) / 2.0f); g.DrawFontImage(symbol, size, color, (image.Width - sf.Width) / 2.0f, (image.Height - sf.Height) / 2.0f, 0, 0, symbolType);
} }
return image; return image;
@ -194,12 +226,27 @@ namespace Sunny.UI
/// <param name="symbol">字符</param> /// <param name="symbol">字符</param>
/// <param name="imageSize">大小</param> /// <param name="imageSize">大小</param>
/// <returns>字体</returns> /// <returns>字体</returns>
public static Font GetFont(int symbol, int imageSize) public static Font GetFont(int symbol, int imageSize, UISymbolType symbolType = UISymbolType.FontAwesomeV4)
{ {
if (symbol > 0xF000) switch (symbolType)
return AwesomeFont.GetFont(symbol, imageSize); {
else case UISymbolType.FontAwesomeV4:
return ElegantFont.GetFont(symbol, imageSize); if (symbol > 0xF000)
return FontAwesomeV4.GetFont(symbol, imageSize);
else
return ElegantIcons.GetFont(symbol, imageSize);
case UISymbolType.FontAwesomeV5Brands:
return FontAwesomeV5Brands.GetFont(symbol, imageSize);
case UISymbolType.FontAwesomeV5Regular:
return FontAwesomeV5Regular.GetFont(symbol, imageSize);
case UISymbolType.FontAwesomeV5Solid:
return FontAwesomeV5Solid.GetFont(symbol, imageSize);
default:
if (symbol > 0xF000)
return FontAwesomeV4.GetFont(symbol, imageSize);
else
return ElegantIcons.GetFont(symbol, imageSize);
}
} }
} }
@ -224,11 +271,6 @@ namespace Sunny.UI
/// </summary> /// </summary>
public Color BackColor { get; set; } = Color.Transparent; public Color BackColor { get; set; } = Color.Transparent;
/// <summary>
/// 前景色
/// </summary>
public Color ForeColor { get; set; } = Color.Black;
public FontImages(byte[] buffer) public FontImages(byte[] buffer)
{ {
ImageFont = new PrivateFontCollection(); ImageFont = new PrivateFontCollection();
@ -287,18 +329,6 @@ namespace Sunny.UI
Fonts.Clear(); Fonts.Clear();
} }
/// <summary>
/// 获取图标
/// </summary>
/// <param name="iconText">序号</param>
/// <param name="imageSize">图标大小</param>
/// <returns>图标</returns>
public Icon GetIcon(int iconText, int imageSize)
{
Bitmap image = GetImage(iconText, imageSize);
return image != null ? ToIcon(image, IconSize) : null;
}
/// <summary> /// <summary>
/// 获取字体 /// 获取字体
/// </summary> /// </summary>
@ -346,60 +376,6 @@ namespace Sunny.UI
return size; return size;
} }
/// <summary>
/// 获取图片
/// </summary>
/// <param name="iconText">图标</param>
/// <param name="imageSize">图标大小</param>
/// <returns>图片</returns>
public Bitmap GetImage(int iconText, int imageSize)
{
Font imageFont = Fonts[MinFontSize];
SizeF textSize = new SizeF(imageSize, imageSize);
using (Bitmap bitmap = new Bitmap(48, 48))
using (Graphics graphics = Graphics.FromImage(bitmap))
{
int size = MaxFontSize;
for (int i = 0; i <= MaxFontSize - MinFontSize; i++)
{
Font font = Fonts[size];
SizeF sf = GetIconSize(iconText, graphics, font);
if (sf.Width < imageSize && sf.Height < imageSize)
{
imageFont = font;
textSize = sf;
break;
}
size -= 1;
}
}
Size iconSize = textSize.ToSize();
Bitmap srcImage = new Bitmap(iconSize.Width, iconSize.Height);
using (Graphics graphics = Graphics.FromImage(srcImage))
{
string s = char.ConvertFromUtf32(iconText);
graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
graphics.InterpolationMode = InterpolationMode.HighQualityBilinear;
//graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
//graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.DrawString(s, imageFont, ForeColor, new PointF(0.0f, 0.0f));
graphics.TextRenderingHint = TextRenderingHint.SystemDefault;
graphics.InterpolationMode = InterpolationMode.Default;
}
Bitmap result = new Bitmap(imageSize, imageSize);
using (Graphics graphics = Graphics.FromImage(result))
{
graphics.DrawImage(srcImage, imageSize / 2.0f - textSize.Width / 2.0f, imageSize / 2.0f - textSize.Height / 2.0f);
}
srcImage.Dispose();
return result;
}
private Size GetIconSize(int iconText, Graphics graphics, Font font) private Size GetIconSize(int iconText, Graphics graphics, Font font)
{ {
string text = char.ConvertFromUtf32(iconText); string text = char.ConvertFromUtf32(iconText);

File diff suppressed because it is too large Load Diff

View File

@ -24,7 +24,6 @@ using System.Collections.Concurrent;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Drawing.Design; using System.Drawing.Design;
using System.Reflection;
using System.Windows.Forms; using System.Windows.Forms;
namespace Sunny.UI namespace Sunny.UI
@ -32,11 +31,13 @@ namespace Sunny.UI
/// <summary> /// <summary>
/// 字体图标编辑器 /// 字体图标编辑器
/// </summary> /// </summary>
public partial class UIFontImages : Form public partial class UIFontImages : Form, ISymbol
{ {
private readonly ConcurrentQueue<Label> AwesomeLabels = new ConcurrentQueue<Label>(); private readonly ConcurrentQueue<Label> FontAwesomeV4Labels = new ConcurrentQueue<Label>();
private readonly ConcurrentQueue<Label> ElegantLabels = new ConcurrentQueue<Label>(); private readonly ConcurrentQueue<Label> ElegantIconsLabels = new ConcurrentQueue<Label>();
private readonly ConcurrentQueue<Label> LigatureSymbolsLabels = new ConcurrentQueue<Label>(); private readonly ConcurrentQueue<Label> FontAwesomeV5SolidLabels = new ConcurrentQueue<Label>();
private readonly ConcurrentQueue<Label> FontAwesomeV5BrandsLabels = new ConcurrentQueue<Label>();
private readonly ConcurrentQueue<Label> FontAwesomeV5RegularLabels = new ConcurrentQueue<Label>();
/// <summary> /// <summary>
/// 构造函数 /// 构造函数
@ -49,7 +50,11 @@ namespace Sunny.UI
private void UIFontImages_Load(object sender, EventArgs e) private void UIFontImages_Load(object sender, EventArgs e)
{ {
AddHighFreqImage(); AddHighFreqImage();
bg.RunWorkerAsync(); bg1.RunWorkerAsync();
bg2.RunWorkerAsync();
bg3.RunWorkerAsync();
bg4.RunWorkerAsync();
bg5.RunWorkerAsync();
timer.Start(); timer.Start();
} }
@ -57,22 +62,52 @@ namespace Sunny.UI
{ {
timer.Stop(); timer.Stop();
while (AwesomeLabels.Count > 0) while (FontAwesomeV4Labels.Count > 0)
{ {
if (AwesomeLabels.TryDequeue(out Label lbl)) if (FontAwesomeV4Labels.TryDequeue(out Label lbl))
{ {
lpAwesome.Controls.Add(lbl); lpAwesome.Controls.Add(lbl);
int symbol = (int)lbl.Tag; SymbolValue symbol = (SymbolValue)lbl.Tag;
toolTip.SetToolTip(lbl, symbol.ToString()); toolTip.SetToolTip(lbl, symbol.ToString());
} }
} }
while (ElegantLabels.Count > 0) while (ElegantIconsLabels.Count > 0)
{ {
if (ElegantLabels.TryDequeue(out Label lbl)) if (ElegantIconsLabels.TryDequeue(out Label lbl))
{ {
lpElegant.Controls.Add(lbl); lpElegant.Controls.Add(lbl);
int symbol = (int)lbl.Tag; SymbolValue symbol = (SymbolValue)lbl.Tag;
toolTip.SetToolTip(lbl, symbol.ToString());
}
}
while (FontAwesomeV5SolidLabels.Count > 0)
{
if (FontAwesomeV5SolidLabels.TryDequeue(out Label lbl))
{
lpV5Solid.Controls.Add(lbl);
SymbolValue symbol = (SymbolValue)lbl.Tag;
toolTip.SetToolTip(lbl, symbol.ToString());
}
}
while (FontAwesomeV5RegularLabels.Count > 0)
{
if (FontAwesomeV5RegularLabels.TryDequeue(out Label lbl))
{
lpV5Regular.Controls.Add(lbl);
SymbolValue symbol = (SymbolValue)lbl.Tag;
toolTip.SetToolTip(lbl, symbol.ToString());
}
}
while (FontAwesomeV5BrandsLabels.Count > 0)
{
if (FontAwesomeV5BrandsLabels.TryDequeue(out Label lbl))
{
lpV5Brands.Controls.Add(lbl);
SymbolValue symbol = (SymbolValue)lbl.Tag;
toolTip.SetToolTip(lbl, symbol.ToString()); toolTip.SetToolTip(lbl, symbol.ToString());
} }
} }
@ -80,39 +115,6 @@ namespace Sunny.UI
timer.Start(); timer.Start();
} }
private void AddAwesomeImageEx()
{
Type t = typeof(FontAwesomeIcons);
FieldInfo[] fis = t.GetFields();
foreach (var fieldInfo in fis)
{
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
AwesomeLabels.Enqueue(CreateLabel(value));
}
}
private void AddElegantImageEx()
{
Type t = typeof(FontElegantIcons);
FieldInfo[] fis = t.GetFields();
foreach (var fieldInfo in fis)
{
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
ElegantLabels.Enqueue(CreateLabel(value));
}
}
private void AddLigatureSymbolsEx()
{
Type t = typeof(LigatureSymbols);
FieldInfo[] fis = t.GetFields();
foreach (var fieldInfo in fis)
{
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
LigatureSymbolsLabels.Enqueue(CreateLabel(value));
}
}
private void AddHighFreqImage() private void AddHighFreqImage()
{ {
AddLabel(FontAwesomeIcons.fa_check); AddLabel(FontAwesomeIcons.fa_check);
@ -212,79 +214,119 @@ namespace Sunny.UI
private void AddLabel(int icon) private void AddLabel(int icon)
{ {
Label lbl = CreateLabel(icon); Label lbl = CreateLabel(icon, UISymbolType.FontAwesomeV4);
lpCustom.Controls.Add(lbl); lpCustom.Controls.Add(lbl);
int symbol = (int)lbl.Tag; SymbolValue symbol = (SymbolValue)lbl.Tag;
toolTip.SetToolTip(lbl, symbol.ToString()); toolTip.SetToolTip(lbl, symbol.ToString());
} }
private Label CreateLabel(int icon) public struct SymbolValue
{
public int Symbol { get; set; }
public UISymbolType SymbolType { get; set; }
public override string ToString()
{
return Symbol.ToString();
}
}
private Label CreateLabel(int icon, UISymbolType symbolType)
{ {
Label lbl = new Label(); Label lbl = new Label();
lbl.AutoSize = false; lbl.AutoSize = false;
lbl.Size = new Size(32, 32); lbl.Size = new Size(32, 32);
lbl.ForeColor = UIColor.Blue; lbl.ForeColor = UIColor.Blue;
lbl.Image = FontImageHelper.CreateImage(icon, 28, UIFontColor.Primary, symbolType);
FontImageHelper.AwesomeFont.ForeColor = UIFontColor.Primary;
FontImageHelper.ElegantFont.ForeColor = UIFontColor.Primary;
lbl.Image = icon >= 0xF000 ?
FontImageHelper.AwesomeFont.GetImage(icon, 28) :
FontImageHelper.ElegantFont.GetImage(icon, 28);
lbl.ImageAlign = ContentAlignment.MiddleCenter; lbl.ImageAlign = ContentAlignment.MiddleCenter;
lbl.TextAlign = ContentAlignment.MiddleLeft; lbl.TextAlign = ContentAlignment.MiddleLeft;
lbl.Margin = new Padding(2); lbl.Margin = new Padding(2);
lbl.Click += lbl_DoubleClick; lbl.Click += lbl_DoubleClick;
lbl.MouseEnter += Lbl_MouseEnter; lbl.MouseEnter += Lbl_MouseEnter;
lbl.MouseLeave += Lbl_MouseLeave; lbl.MouseLeave += Lbl_MouseLeave;
lbl.Tag = icon; lbl.Tag = new SymbolValue() { Symbol = icon, SymbolType = symbolType };
return lbl; return lbl;
} }
private void Lbl_MouseLeave(object sender, EventArgs e) private void Lbl_MouseLeave(object sender, EventArgs e)
{ {
Label lbl = (Label)sender; Label lbl = (Label)sender;
FontImageHelper.AwesomeFont.ForeColor = UIFontColor.Primary; SymbolValue symbol = (SymbolValue)lbl.Tag;
FontImageHelper.ElegantFont.ForeColor = UIFontColor.Primary; lbl.Image = FontImageHelper.CreateImage(symbol.Symbol, 28, UIFontColor.Primary, symbol.SymbolType);
int icon = (int)lbl.Tag;
lbl.Image = icon >= 0xF000 ?
FontImageHelper.AwesomeFont.GetImage(icon, 28) :
FontImageHelper.ElegantFont.GetImage(icon, 28);
} }
private void Lbl_MouseEnter(object sender, EventArgs e) private void Lbl_MouseEnter(object sender, EventArgs e)
{ {
Label lbl = (Label)sender; Label lbl = (Label)sender;
FontImageHelper.AwesomeFont.ForeColor = UIColor.Blue; SymbolValue symbol = (SymbolValue)lbl.Tag;
FontImageHelper.ElegantFont.ForeColor = UIColor.Blue; lbl.Image = FontImageHelper.CreateImage(symbol.Symbol, 28, UIColor.Blue, symbol.SymbolType);
int icon = (int)lbl.Tag;
lbl.Image = icon >= 0xF000 ?
FontImageHelper.AwesomeFont.GetImage(icon, 28) :
FontImageHelper.ElegantFont.GetImage(icon, 28);
} }
/// <summary> public int Symbol { get; set; }
/// 选中图标 public UISymbolType SymbolType { get; set; }
/// </summary> public Point SymbolOffset { get; set; }
public int SelectSymbol { get; private set; }
private void lbl_DoubleClick(object sender, EventArgs e) private void lbl_DoubleClick(object sender, EventArgs e)
{ {
if (sender is Label lbl) SelectSymbol = (int)lbl.Tag; if (sender is Label lbl)
DialogResult = DialogResult.OK; {
Close(); SymbolValue symbol = (SymbolValue)lbl.Tag;
SymbolType = symbol.SymbolType;
Symbol = ((int)symbol.SymbolType) * 100000 + symbol.Symbol;
DialogResult = DialogResult.OK;
Close();
}
} }
private void bg_DoWork(object sender, DoWorkEventArgs e) private void bg_DoWork(object sender, DoWorkEventArgs e)
{ {
AddAwesomeImageEx(); var t = typeof(FontAwesomeIcons);
//scoreStep = 1; foreach (var fieldInfo in t.GetFields())
AddElegantImageEx(); {
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
FontAwesomeV4Labels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV4));
}
} }
private void bg_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) private void bg2_DoWork(object sender, DoWorkEventArgs e)
{ {
var t = typeof(FontElegantIcons);
foreach (var fieldInfo in t.GetFields())
{
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
ElegantIconsLabels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV4));
}
}
private void bg3_DoWork(object sender, DoWorkEventArgs e)
{
var t = typeof(FontAweSomeV5Brands);
foreach (var fieldInfo in t.GetFields())
{
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
FontAwesomeV5BrandsLabels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV5Brands));
}
}
private void bg4_DoWork(object sender, DoWorkEventArgs e)
{
var t = typeof(FontAweSomeV5Regular);
foreach (var fieldInfo in t.GetFields())
{
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
FontAwesomeV5RegularLabels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV5Regular));
}
}
private void bg5_DoWork(object sender, DoWorkEventArgs e)
{
var t = typeof(FontAweSomeV5Solid);
foreach (var fieldInfo in t.GetFields())
{
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
FontAwesomeV5SolidLabels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV5Solid));
}
} }
} }
@ -316,7 +358,7 @@ namespace Sunny.UI
//打开属性编辑器修改数据 //打开属性编辑器修改数据
UIFontImages frm = new UIFontImages(); UIFontImages frm = new UIFontImages();
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
value = frm.SelectSymbol; value = frm.Symbol;
frm.Dispose(); frm.Dispose();
return value; return value;
} }

View File

@ -36,13 +36,26 @@
this.lpAwesome = new System.Windows.Forms.FlowLayoutPanel(); this.lpAwesome = new System.Windows.Forms.FlowLayoutPanel();
this.tabPage3 = new System.Windows.Forms.TabPage(); this.tabPage3 = new System.Windows.Forms.TabPage();
this.lpElegant = new System.Windows.Forms.FlowLayoutPanel(); this.lpElegant = new System.Windows.Forms.FlowLayoutPanel();
this.bg = new System.ComponentModel.BackgroundWorker(); this.tabPage4 = new System.Windows.Forms.TabPage();
this.lpV5Brands = new System.Windows.Forms.FlowLayoutPanel();
this.tabPage5 = new System.Windows.Forms.TabPage();
this.lpV5Solid = new System.Windows.Forms.FlowLayoutPanel();
this.tabPage6 = new System.Windows.Forms.TabPage();
this.lpV5Regular = new System.Windows.Forms.FlowLayoutPanel();
this.bg1 = new System.ComponentModel.BackgroundWorker();
this.timer = new System.Windows.Forms.Timer(this.components); this.timer = new System.Windows.Forms.Timer(this.components);
this.toolTip = new System.Windows.Forms.ToolTip(this.components); this.toolTip = new System.Windows.Forms.ToolTip(this.components);
this.bg2 = new System.ComponentModel.BackgroundWorker();
this.bg3 = new System.ComponentModel.BackgroundWorker();
this.bg4 = new System.ComponentModel.BackgroundWorker();
this.bg5 = new System.ComponentModel.BackgroundWorker();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout(); this.tabPage2.SuspendLayout();
this.tabPage3.SuspendLayout(); this.tabPage3.SuspendLayout();
this.tabPage4.SuspendLayout();
this.tabPage5.SuspendLayout();
this.tabPage6.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// tabControl1 // tabControl1
@ -50,20 +63,23 @@
this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage3); this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Controls.Add(this.tabPage4);
this.tabControl1.Controls.Add(this.tabPage5);
this.tabControl1.Controls.Add(this.tabPage6);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(0, 0); this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1"; this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0; this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(497, 450); this.tabControl1.Size = new System.Drawing.Size(541, 502);
this.tabControl1.TabIndex = 0; this.tabControl1.TabIndex = 0;
// //
// tabPage1 // tabPage1
// //
this.tabPage1.Controls.Add(this.lpCustom); this.tabPage1.Controls.Add(this.lpCustom);
this.tabPage1.Location = new System.Drawing.Point(4, 22); this.tabPage1.Location = new System.Drawing.Point(4, 26);
this.tabPage1.Name = "tabPage1"; this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(489, 424); this.tabPage1.Size = new System.Drawing.Size(533, 472);
this.tabPage1.TabIndex = 0; this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "常用"; this.tabPage1.Text = "常用";
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.UseVisualStyleBackColor = true;
@ -74,18 +90,18 @@
this.lpCustom.Dock = System.Windows.Forms.DockStyle.Fill; this.lpCustom.Dock = System.Windows.Forms.DockStyle.Fill;
this.lpCustom.Location = new System.Drawing.Point(3, 3); this.lpCustom.Location = new System.Drawing.Point(3, 3);
this.lpCustom.Name = "lpCustom"; this.lpCustom.Name = "lpCustom";
this.lpCustom.Size = new System.Drawing.Size(483, 418); this.lpCustom.Size = new System.Drawing.Size(527, 466);
this.lpCustom.TabIndex = 1; this.lpCustom.TabIndex = 1;
// //
// tabPage2 // tabPage2
// //
this.tabPage2.Controls.Add(this.lpAwesome); this.tabPage2.Controls.Add(this.lpAwesome);
this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Location = new System.Drawing.Point(4, 26);
this.tabPage2.Name = "tabPage2"; this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3); this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(489, 424); this.tabPage2.Size = new System.Drawing.Size(756, 637);
this.tabPage2.TabIndex = 1; this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "AwesomeFont"; this.tabPage2.Text = "FontAwesomeV4";
this.tabPage2.UseVisualStyleBackColor = true; this.tabPage2.UseVisualStyleBackColor = true;
// //
// lpAwesome // lpAwesome
@ -95,16 +111,16 @@
this.lpAwesome.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255))))); this.lpAwesome.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
this.lpAwesome.Location = new System.Drawing.Point(3, 3); this.lpAwesome.Location = new System.Drawing.Point(3, 3);
this.lpAwesome.Name = "lpAwesome"; this.lpAwesome.Name = "lpAwesome";
this.lpAwesome.Size = new System.Drawing.Size(483, 418); this.lpAwesome.Size = new System.Drawing.Size(750, 631);
this.lpAwesome.TabIndex = 1; this.lpAwesome.TabIndex = 1;
// //
// tabPage3 // tabPage3
// //
this.tabPage3.Controls.Add(this.lpElegant); this.tabPage3.Controls.Add(this.lpElegant);
this.tabPage3.Location = new System.Drawing.Point(4, 22); this.tabPage3.Location = new System.Drawing.Point(4, 26);
this.tabPage3.Name = "tabPage3"; this.tabPage3.Name = "tabPage3";
this.tabPage3.Padding = new System.Windows.Forms.Padding(3); this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
this.tabPage3.Size = new System.Drawing.Size(489, 424); this.tabPage3.Size = new System.Drawing.Size(756, 637);
this.tabPage3.TabIndex = 2; this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "ElegantFont"; this.tabPage3.Text = "ElegantFont";
this.tabPage3.UseVisualStyleBackColor = true; this.tabPage3.UseVisualStyleBackColor = true;
@ -116,22 +132,100 @@
this.lpElegant.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255))))); this.lpElegant.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
this.lpElegant.Location = new System.Drawing.Point(3, 3); this.lpElegant.Location = new System.Drawing.Point(3, 3);
this.lpElegant.Name = "lpElegant"; this.lpElegant.Name = "lpElegant";
this.lpElegant.Size = new System.Drawing.Size(483, 418); this.lpElegant.Size = new System.Drawing.Size(750, 631);
this.lpElegant.TabIndex = 2; this.lpElegant.TabIndex = 2;
// //
// bg // tabPage4
// //
this.bg.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg_DoWork); this.tabPage4.Controls.Add(this.lpV5Brands);
this.bg.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bg_RunWorkerCompleted); this.tabPage4.Location = new System.Drawing.Point(4, 26);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
this.tabPage4.Size = new System.Drawing.Size(756, 637);
this.tabPage4.TabIndex = 3;
this.tabPage4.Text = "FontAwesomeV5Brands";
this.tabPage4.UseVisualStyleBackColor = true;
//
// lpV5Brands
//
this.lpV5Brands.AutoScroll = true;
this.lpV5Brands.Dock = System.Windows.Forms.DockStyle.Fill;
this.lpV5Brands.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
this.lpV5Brands.Location = new System.Drawing.Point(3, 3);
this.lpV5Brands.Name = "lpV5Brands";
this.lpV5Brands.Size = new System.Drawing.Size(750, 631);
this.lpV5Brands.TabIndex = 3;
//
// tabPage5
//
this.tabPage5.Controls.Add(this.lpV5Solid);
this.tabPage5.Location = new System.Drawing.Point(4, 26);
this.tabPage5.Name = "tabPage5";
this.tabPage5.Padding = new System.Windows.Forms.Padding(3);
this.tabPage5.Size = new System.Drawing.Size(756, 637);
this.tabPage5.TabIndex = 4;
this.tabPage5.Text = "V5Solid";
this.tabPage5.UseVisualStyleBackColor = true;
//
// lpV5Solid
//
this.lpV5Solid.AutoScroll = true;
this.lpV5Solid.Dock = System.Windows.Forms.DockStyle.Fill;
this.lpV5Solid.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
this.lpV5Solid.Location = new System.Drawing.Point(3, 3);
this.lpV5Solid.Name = "lpV5Solid";
this.lpV5Solid.Size = new System.Drawing.Size(750, 631);
this.lpV5Solid.TabIndex = 3;
//
// tabPage6
//
this.tabPage6.Controls.Add(this.lpV5Regular);
this.tabPage6.Location = new System.Drawing.Point(4, 26);
this.tabPage6.Name = "tabPage6";
this.tabPage6.Padding = new System.Windows.Forms.Padding(3);
this.tabPage6.Size = new System.Drawing.Size(756, 637);
this.tabPage6.TabIndex = 5;
this.tabPage6.Text = "V5Regular";
this.tabPage6.UseVisualStyleBackColor = true;
//
// lpV5Regular
//
this.lpV5Regular.AutoScroll = true;
this.lpV5Regular.Dock = System.Windows.Forms.DockStyle.Fill;
this.lpV5Regular.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
this.lpV5Regular.Location = new System.Drawing.Point(3, 3);
this.lpV5Regular.Name = "lpV5Regular";
this.lpV5Regular.Size = new System.Drawing.Size(750, 631);
this.lpV5Regular.TabIndex = 3;
//
// bg1
//
this.bg1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg_DoWork);
// //
// timer // timer
// //
this.timer.Tick += new System.EventHandler(this.timer_Tick); this.timer.Tick += new System.EventHandler(this.timer_Tick);
// //
// bg2
//
this.bg2.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg2_DoWork);
//
// bg3
//
this.bg3.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg3_DoWork);
//
// bg4
//
this.bg4.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg4_DoWork);
//
// bg5
//
this.bg5.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg5_DoWork);
//
// UIFontImages // UIFontImages
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(497, 450); this.ClientSize = new System.Drawing.Size(541, 502);
this.Controls.Add(this.tabControl1); this.Controls.Add(this.tabControl1);
this.Name = "UIFontImages"; this.Name = "UIFontImages";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
@ -141,6 +235,9 @@
this.tabPage1.ResumeLayout(false); this.tabPage1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false); this.tabPage2.ResumeLayout(false);
this.tabPage3.ResumeLayout(false); this.tabPage3.ResumeLayout(false);
this.tabPage4.ResumeLayout(false);
this.tabPage5.ResumeLayout(false);
this.tabPage6.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -154,8 +251,18 @@
private System.Windows.Forms.FlowLayoutPanel lpAwesome; private System.Windows.Forms.FlowLayoutPanel lpAwesome;
private System.Windows.Forms.TabPage tabPage3; private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.FlowLayoutPanel lpElegant; private System.Windows.Forms.FlowLayoutPanel lpElegant;
private System.ComponentModel.BackgroundWorker bg; private System.ComponentModel.BackgroundWorker bg1;
private System.Windows.Forms.Timer timer; private System.Windows.Forms.Timer timer;
private System.Windows.Forms.ToolTip toolTip; private System.Windows.Forms.ToolTip toolTip;
private System.Windows.Forms.TabPage tabPage4;
private System.Windows.Forms.TabPage tabPage5;
private System.Windows.Forms.TabPage tabPage6;
private System.Windows.Forms.FlowLayoutPanel lpV5Brands;
private System.Windows.Forms.FlowLayoutPanel lpV5Solid;
private System.Windows.Forms.FlowLayoutPanel lpV5Regular;
private System.ComponentModel.BackgroundWorker bg2;
private System.ComponentModel.BackgroundWorker bg3;
private System.ComponentModel.BackgroundWorker bg4;
private System.ComponentModel.BackgroundWorker bg5;
} }
} }

View File

@ -1,64 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <root>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
@ -117,13 +57,25 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="bg.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bg1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>162, 24</value> <value>384, 17</value>
</metadata> </metadata>
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>245, 24</value> <value>467, 17</value>
</metadata>
<metadata name="bg2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>84, 17</value>
</metadata>
<metadata name="bg3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>159, 17</value>
</metadata>
<metadata name="bg4.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>234, 17</value>
</metadata>
<metadata name="bg5.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>309, 17</value>
</metadata> </metadata>
</root> </root>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
{
"profiles": {
"SunnyUI": {
"commandName": "Project",
"nativeDebugging": true
}
}
}

View File

@ -38,8 +38,10 @@
<ItemGroup> <ItemGroup>
<None Remove="Controls\UIDataGridView.cs~RF2e4ccc29.TMP" /> <None Remove="Controls\UIDataGridView.cs~RF2e4ccc29.TMP" />
<None Remove="Font\ElegantIcons.ttf" /> <None Remove="Font\ElegantIcons.ttf" />
<None Remove="Font\fa-brands-400.ttf" />
<None Remove="Font\fa-regular-400.ttf" />
<None Remove="Font\fa-solid-900.ttf" />
<None Remove="Font\FontAwesome.ttf" /> <None Remove="Font\FontAwesome.ttf" />
<None Remove="Font\LigatureSymbols.ttf" />
<None Include="..\LICENSE"> <None Include="..\LICENSE">
<Pack>True</Pack> <Pack>True</Pack>
<PackagePath></PackagePath> <PackagePath></PackagePath>
@ -52,8 +54,10 @@
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Font\ElegantIcons.ttf" /> <EmbeddedResource Include="Font\ElegantIcons.ttf" />
<EmbeddedResource Include="Font\fa-brands-400.ttf" />
<EmbeddedResource Include="Font\fa-regular-400.ttf" />
<EmbeddedResource Include="Font\fa-solid-900.ttf" />
<EmbeddedResource Include="Font\FontAwesome.ttf" /> <EmbeddedResource Include="Font\FontAwesome.ttf" />
<EmbeddedResource Include="Font\LigatureSymbols.ttf" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>