diff --git a/AntdUIDemo.csproj b/AntdUIDemo.csproj
index 4939d06..80392bd 100644
--- a/AntdUIDemo.csproj
+++ b/AntdUIDemo.csproj
@@ -13,7 +13,7 @@
Copyright © 2024 czz_y
$(Version)
$(Version)
- 1.6.0
+ 1.6.1
czz_y
基于 Winform UI框架 AntdUI 设计的Demo
https://gitee.com/mubaiyanghua/antd-uidemo
@@ -30,7 +30,7 @@
-
+
diff --git a/MainWindow.Designer.cs b/MainWindow.Designer.cs
index 8583dea..55db254 100644
--- a/MainWindow.Designer.cs
+++ b/MainWindow.Designer.cs
@@ -125,6 +125,7 @@
//
// input_search
//
+ this.input_search.AllowClear = true;
this.input_search.Dock = System.Windows.Forms.DockStyle.Right;
this.input_search.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
this.input_search.Location = new System.Drawing.Point(596, 0);
diff --git a/MainWindow.cs b/MainWindow.cs
index 927a6b6..22c18f0 100644
--- a/MainWindow.cs
+++ b/MainWindow.cs
@@ -121,25 +121,6 @@ namespace AntdUIDemo
}
}
- //private void LoadMenu()
- //{
- // menu.Items.Clear();
- // foreach (var rootItem in DataUtil.MenuItems)
- // {
- // var rootMenu = new AntdUI.MenuItem { Text = rootItem.Key };
- // foreach (var item in rootItem.Value)
- // {
- // var menuItem = new AntdUI.MenuItem
- // {
- // Text = item.Text,
- // IconSvg = item.IconSvg,
- // Tag = item.Tag,
- // };
- // rootMenu.Sub.Add(menuItem);
- // }
- // menu.Items.Add(rootMenu);
- // }
- //}
private void LoadMenu(string filter = "")
{
menu.Items.Clear();
@@ -197,6 +178,9 @@ namespace AntdUIDemo
case "FloatButton":
control = new FloatButtonDemo(this);
break;
+ case "Icon":
+ control = new IconDemo(this);
+ break;
case "Divider":
control = new DividerDemo();
break;
@@ -350,6 +334,9 @@ namespace AntdUIDemo
case "PageHeader":
control = new PageHeaderDemo(this);
break;
+ case "Signal":
+ control = new SignalDemo();
+ break;
case "WindowBar":
control = new WindowBarDemo();
break;
diff --git a/Models/DataUtil.cs b/Models/DataUtil.cs
index 26b513b..8eb75f6 100644
--- a/Models/DataUtil.cs
+++ b/Models/DataUtil.cs
@@ -14,6 +14,7 @@ namespace AntdUIDemo.Models
{
new MenuItems { Text = "Button 按钮" , Tag = "Button"},
new MenuItems { Text = "FloatButton 悬浮按钮", Tag = "FloatButton"},
+ new MenuItems { Text = "Icon 图标", Tag = "Icon"},
}
},
{ "布局", new List
@@ -94,6 +95,7 @@ namespace AntdUIDemo.Models
new MenuItems { Text = "ContextMenuStrip 快捷菜单", Tag = "ContextMenuStrip" },
new MenuItems { Text = "Image3D 图片3D", Tag = "Image3D" },
new MenuItems { Text = "PageHeader 页头", Tag= "PageHeader"},
+ new MenuItems { Text = "Signal 信号", Tag = "Signal" },
new MenuItems { Text = "WindowBar 窗口栏", Tag = "WindowBar" }
}
}
diff --git a/README.md b/README.md
index 475e9cf..33f3b0c 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
AntdUI Demo
-本项目基于 `Winform .NET Framework 4.8` 开发,是 [AntdUI](https://gitee.com/antdui/AntdUI) 的 Demo 项目,当前版本 `1.6.0`
+本项目基于 `Winform .NET Framework 4.8` 开发,是 [AntdUI](https://gitee.com/antdui/AntdUI) 的 Demo 项目,当前版本 `1.6.1`
@@ -40,6 +40,8 @@

#### FloatButton 悬浮按钮

+#### Icon 图标
+
### 布局
#### Divider 分割线
@@ -157,5 +159,7 @@

#### PageHeader 页头

+#### Signal 信号
+
#### WindowBar 窗口栏

\ No newline at end of file
diff --git a/Views/IconDemo.Designer.cs b/Views/IconDemo.Designer.cs
new file mode 100644
index 0000000..f9f5ad6
--- /dev/null
+++ b/Views/IconDemo.Designer.cs
@@ -0,0 +1,157 @@
+namespace AntdUIDemo.Views
+{
+ partial class IconDemo
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ AntdUI.SegmentedItem segmentedItem1 = new AntdUI.SegmentedItem();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(IconDemo));
+ AntdUI.SegmentedItem segmentedItem2 = new AntdUI.SegmentedItem();
+ this.stackPanel1 = new AntdUI.StackPanel();
+ this.divider1 = new AntdUI.Divider();
+ this.label3 = new AntdUI.Label();
+ this.label2 = new AntdUI.Label();
+ this.label1 = new AntdUI.Label();
+ this.segmented1 = new AntdUI.Segmented();
+ this.txt_search = new AntdUI.Input();
+ this.vpanel = new AntdUI.VirtualPanel();
+ this.stackPanel1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // stackPanel1
+ //
+ this.stackPanel1.Controls.Add(this.vpanel);
+ this.stackPanel1.Controls.Add(this.txt_search);
+ this.stackPanel1.Controls.Add(this.segmented1);
+ this.stackPanel1.Controls.Add(this.divider1);
+ this.stackPanel1.Controls.Add(this.label3);
+ this.stackPanel1.Controls.Add(this.label2);
+ this.stackPanel1.Controls.Add(this.label1);
+ this.stackPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.stackPanel1.Location = new System.Drawing.Point(0, 0);
+ this.stackPanel1.Name = "stackPanel1";
+ this.stackPanel1.Size = new System.Drawing.Size(700, 560);
+ this.stackPanel1.TabIndex = 0;
+ this.stackPanel1.Text = "stackPanel1";
+ this.stackPanel1.Vertical = true;
+ //
+ // divider1
+ //
+ this.divider1.Location = new System.Drawing.Point(3, 109);
+ this.divider1.Name = "divider1";
+ this.divider1.Size = new System.Drawing.Size(694, 12);
+ this.divider1.TabIndex = 17;
+ //
+ // label3
+ //
+ this.label3.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F);
+ this.label3.Location = new System.Drawing.Point(3, 79);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(694, 24);
+ this.label3.TabIndex = 16;
+ this.label3.Text = "Icon没有工具箱控件,用于Svg属性赋值。";
+ //
+ // label2
+ //
+ this.label2.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label2.Location = new System.Drawing.Point(3, 49);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(694, 24);
+ this.label2.TabIndex = 15;
+ this.label2.Text = "语义化的矢量图形。";
+ //
+ // label1
+ //
+ this.label1.Font = new System.Drawing.Font("Microsoft YaHei UI", 26.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label1.Location = new System.Drawing.Point(3, 3);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(694, 40);
+ this.label1.TabIndex = 14;
+ this.label1.Text = "Icon 图标";
+ //
+ // segmented1
+ //
+ this.segmented1.BackActive = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(150)))), ((int)(((byte)(243)))));
+ this.segmented1.BarStyle = true;
+ this.segmented1.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.segmented1.IconAlign = AntdUI.TAlignMini.Left;
+ segmentedItem1.IconSvg = resources.GetString("segmentedItem1.IconSvg");
+ segmentedItem1.Text = "线框风格";
+ segmentedItem2.IconSvg = "";
+ segmentedItem2.Text = "实底风格";
+ this.segmented1.Items.Add(segmentedItem1);
+ this.segmented1.Items.Add(segmentedItem2);
+ this.segmented1.Location = new System.Drawing.Point(3, 127);
+ this.segmented1.Name = "segmented1";
+ this.segmented1.SelectIndex = 0;
+ this.segmented1.Size = new System.Drawing.Size(694, 38);
+ this.segmented1.TabIndex = 18;
+ this.segmented1.Text = "segmented1";
+ //
+ // txt_search
+ //
+ this.txt_search.AllowClear = true;
+ this.txt_search.Dock = System.Windows.Forms.DockStyle.Right;
+ this.txt_search.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
+ this.txt_search.Location = new System.Drawing.Point(3, 171);
+ this.txt_search.Name = "txt_search";
+ this.txt_search.PlaceholderText = "输入关键字搜索...";
+ this.txt_search.PrefixSvg = "SearchOutlined";
+ this.txt_search.Size = new System.Drawing.Size(694, 40);
+ this.txt_search.TabIndex = 19;
+ //
+ // vpanel
+ //
+ this.vpanel.Location = new System.Drawing.Point(3, 217);
+ this.vpanel.Name = "vpanel";
+ this.vpanel.Size = new System.Drawing.Size(694, 340);
+ this.vpanel.TabIndex = 20;
+ //
+ // IconDemo
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
+ this.Controls.Add(this.stackPanel1);
+ this.Name = "IconDemo";
+ this.Size = new System.Drawing.Size(700, 560);
+ this.stackPanel1.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private AntdUI.StackPanel stackPanel1;
+ private AntdUI.Divider divider1;
+ private AntdUI.Label label2;
+ private AntdUI.Label label1;
+ private AntdUI.Label label3;
+ private AntdUI.Segmented segmented1;
+ private AntdUI.VirtualPanel vpanel;
+ private AntdUI.Input txt_search;
+ }
+}
diff --git a/Views/IconDemo.cs b/Views/IconDemo.cs
new file mode 100644
index 0000000..b65d68b
--- /dev/null
+++ b/Views/IconDemo.cs
@@ -0,0 +1,292 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace AntdUIDemo.Views
+{
+ public partial class IconDemo : UserControl
+ {
+ private AntdUI.Window window;
+ public IconDemo(AntdUI.Window _window)
+ {
+ window = _window;
+ InitializeComponent();
+ //设置默认值
+ InitData();
+ // 绑定事件
+ BindEventHandler();
+ }
+
+ private void BindEventHandler()
+ {
+ segmented1.SelectIndexChanged += segmented1_SelectIndexChanged;
+ txt_search.TextChanged += txt_search_TextChanged;
+ txt_search.SuffixClick += txt_search_SuffixClick;
+ vpanel.ItemClick += vpanel_ItemClick;
+ }
+
+ #region 数据
+
+ private void segmented1_SelectIndexChanged(object sender, AntdUI.IntEventArgs e)
+ {
+ InitData();
+ }
+
+ private void InitData()
+ {
+ var data = GetData();
+ var svgs = new List(data.Count);
+ foreach (var it in data)
+ {
+ svgs.Add(new TItem(it.Key, it.Value));
+ svgs.AddRange(it.Value);
+ }
+ vpanel.Items.Clear();
+ txt_search.Text = "";
+ vpanel.Items.AddRange(svgs);
+ }
+
+ Dictionary> GetData()
+ {
+ var dir = new Dictionary>(AntdUI.SvgDb.Custom.Count);
+ var tmp = new List(AntdUI.SvgDb.Custom.Count);
+ if (segmented1.SelectIndex == 0)
+ {
+ foreach (var it in AntdUI.SvgDb.Custom)
+ {
+ if (it.Key == "QuestionOutlined")
+ {
+ dir.Add("方向性图标", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "EditOutlined")
+ {
+ dir.Add("提示建议性图标", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "AreaChartOutlined")
+ {
+ dir.Add("编辑类图标", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "AndroidOutlined")
+ {
+ dir.Add("数据类图标", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "AccountBookOutlined")
+ {
+ dir.Add("品牌和标识", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "StepBackwardFilled")
+ {
+ dir.Add("网站通用图标", new List(tmp));
+ tmp.Clear();
+ return dir;
+ }
+ tmp.Add(new VItem(it.Key, it.Value));
+ }
+ dir.Add("网站通用图标", new List(tmp));
+ tmp.Clear();
+ }
+ else
+ {
+ bool isadd = false;
+ foreach (var it in AntdUI.SvgDb.Custom)
+ {
+ if (it.Key == "StepBackwardFilled") isadd = true;
+ else if (it.Key == "QuestionCircleFilled")
+ {
+ dir.Add("方向性图标", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "EditFilled")
+ {
+ dir.Add("提示建议性图标", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "PieChartFilled")
+ {
+ dir.Add("编辑类图标", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "AndroidFilled")
+ {
+ dir.Add("数据类图标", new List(tmp));
+ tmp.Clear();
+ }
+ else if (it.Key == "AccountBookFilled")
+ {
+ dir.Add("品牌和标识", new List(tmp));
+ tmp.Clear();
+ }
+ if (isadd) tmp.Add(new VItem(it.Key, it.Value));
+ }
+ dir.Add("网站通用图标", new List(tmp));
+ tmp.Clear();
+ }
+ return dir;
+ }
+
+ #endregion
+
+ #region 渲染
+
+ class TItem : AntdUI.VirtualItem
+ {
+ string title, count;
+ public List data;
+ public TItem(string t, List d)
+ {
+ CanClick = false;
+ data = d;
+ title = t;
+ count = d.Count.ToString();
+ }
+
+ StringFormat s_f = AntdUI.Helper.SF_NoWrap(lr: StringAlignment.Near);
+ StringFormat s_c = AntdUI.Helper.SF_NoWrap();
+ public override void Paint(Graphics g, AntdUI.VirtualPanelArgs e)
+ {
+ var dpi = AntdUI.Config.Dpi;
+
+ using (var fore = new SolidBrush(AntdUI.Style.Db.Text))
+ {
+ using (var font_title = new Font(e.Panel.Font, FontStyle.Bold))
+ using (var font_count = new Font(e.Panel.Font.FontFamily, e.Panel.Font.Size * .74F, e.Panel.Font.Style))
+ {
+ var size = AntdUI.Helper.Size(g.MeasureString(title, font_title));
+ AntdUI.CorrectionTextRendering.DrawStr(g, title, font_title, fore, e.Rect, s_f);
+
+ var rect_count = new Rectangle(e.Rect.X + size.Width, e.Rect.Y + (e.Rect.Height - size.Height) / 2, size.Height, size.Height);
+ using (var path = AntdUI.Helper.RoundPath(rect_count, e.Radius))
+ {
+ using (var brush = new SolidBrush(AntdUI.Style.Db.TagDefaultBg))
+ {
+ g.FillPath(brush, path);
+ }
+ using (var pen = new Pen(AntdUI.Style.Db.DefaultBorder, 1 * dpi))
+ {
+ g.DrawPath(pen, path);
+ }
+ }
+ AntdUI.CorrectionTextRendering.DrawStr(g, count, font_count, fore, rect_count, s_c);
+ }
+ }
+ }
+
+ public override Size Size(Graphics g, AntdUI.VirtualPanelArgs e)
+ {
+ var dpi = AntdUI.Config.Dpi;
+ return new Size(e.Rect.Width, (int)(44 * dpi));
+ }
+ }
+ class VItem : AntdUI.VirtualItem
+ {
+ public string Key, Value;
+ public VItem(string key, string value) { Tag = Key = key; Value = value; }
+
+ StringFormat s_f = AntdUI.Helper.SF_NoWrap();
+ Bitmap bmp = null, bmp_ac = null;
+ public override void Paint(Graphics g, AntdUI.VirtualPanelArgs e)
+ {
+ var dpi = AntdUI.Config.Dpi;
+ int icon_size = (int)(24 * dpi), text_size = (int)(24 * dpi), y = e.Rect.Y + (e.Rect.Height - (icon_size + text_size)) / 2;
+ var rect_icon = new Rectangle(e.Rect.X + (e.Rect.Width - icon_size) / 2, y, icon_size, icon_size);
+ var rect_text = new Rectangle(e.Rect.X, y + icon_size / 2 + text_size, e.Rect.Width, text_size);
+ if (Hover)
+ {
+ using (var path = AntdUI.Helper.RoundPath(e.Rect, e.Radius))
+ {
+ using (var brush = new SolidBrush(AntdUI.Style.Db.Primary))
+ {
+ g.FillPath(brush, path);
+ }
+ }
+ if (bmp_ac == null) bmp_ac = AntdUI.SvgExtend.SvgToBmp(Value, icon_size, icon_size, AntdUI.Style.Db.PrimaryColor);
+ g.DrawImage(bmp_ac, rect_icon);
+
+ using (var fore = new SolidBrush(AntdUI.Style.Db.PrimaryColor))
+ {
+ AntdUI.CorrectionTextRendering.DrawStr(g, Key, e.Panel.Font, fore, rect_text, s_f);
+ }
+ }
+ else
+ {
+ if (bmp == null) bmp = AntdUI.SvgExtend.SvgToBmp(Value, icon_size, icon_size, AntdUI.Style.Db.Text);
+ g.DrawImage(bmp, rect_icon);
+ using (var fore = new SolidBrush(AntdUI.Style.Db.Text))
+ {
+ AntdUI.CorrectionTextRendering.DrawStr(g, Key, e.Panel.Font, fore, rect_text, s_f);
+ }
+ }
+
+ }
+ public override Size Size(Graphics g, AntdUI.VirtualPanelArgs e)
+ {
+ var dpi = AntdUI.Config.Dpi;
+ return new Size((int)(140 * dpi), (int)(100 * dpi));
+ }
+ }
+
+ #endregion
+
+ private void vpanel_ItemClick(object sender, AntdUI.VirtualItemEventArgs e)
+ {
+ if (e.Item is VItem item)
+ {
+ if (AntdUI.Helper.ClipboardSetText(this, item.Key)) AntdUI.Message.success(window, item.Key + " 复制成功");
+ else AntdUI.Message.error(window, item.Key + " 复制失败");
+ }
+ }
+
+ #region 搜索
+
+ private void txt_search_TextChanged(object sender, System.EventArgs e) => LoadSearchList();
+ private void txt_search_SuffixClick(object sender, MouseEventArgs e) => LoadSearchList();
+
+ void LoadSearchList()
+ {
+ string search = txt_search.Text;
+ BeginInvoke(new Action(() =>
+ {
+ vpanel.PauseLayout = true;
+ if (string.IsNullOrEmpty(search))
+ {
+ foreach (var it in vpanel.Items) it.Visible = true;
+ vpanel.Empty = false;
+ }
+ else
+ {
+ vpanel.Empty = true;
+ string searchLower = search.ToLower();
+ var titles = new List(vpanel.Items.Count);
+ foreach (var it in vpanel.Items)
+ {
+ if (it is VItem item) it.Visible = item.Key.ToLower().Contains(searchLower);
+ else if (it is TItem itemTitle) titles.Add(itemTitle);
+ }
+ foreach (var it in titles)
+ {
+ int count = 0;
+ foreach (var item in it.data)
+ {
+ if (item.Visible) count++;
+ }
+ it.Visible = count > 0;
+ }
+ }
+ vpanel.PauseLayout = false;
+ }));
+ }
+
+ #endregion
+ }
+}
diff --git a/Views/IconDemo.resx b/Views/IconDemo.resx
new file mode 100644
index 0000000..f1e0a89
--- /dev/null
+++ b/Views/IconDemo.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ <svg viewBox="0 0 1024 1024"><path d="M864 64H160C107 64 64 107 64 160v704c0 53 43 96 96 96h704c53 0 96-43 96-96V160c0-53-43-96-96-96z m-12 800H172c-6.6 0-12-5.4-12-12V172c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v680c0 6.6-5.4 12-12 12z"></path></svg>
+
+
\ No newline at end of file
diff --git a/Views/SignalDemo.Designer.cs b/Views/SignalDemo.Designer.cs
new file mode 100644
index 0000000..a80db5a
--- /dev/null
+++ b/Views/SignalDemo.Designer.cs
@@ -0,0 +1,442 @@
+namespace AntdUIDemo.Views
+{
+ partial class SignalDemo
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.stackPanel1 = new AntdUI.StackPanel();
+ this.flowPanel = new AntdUI.FlowPanel();
+ this.label4 = new AntdUI.Label();
+ this.divider1 = new AntdUI.Divider();
+ this.label2 = new AntdUI.Label();
+ this.label1 = new AntdUI.Label();
+ this.signal1 = new AntdUI.Signal();
+ this.signal2 = new AntdUI.Signal();
+ this.signal3 = new AntdUI.Signal();
+ this.signal4 = new AntdUI.Signal();
+ this.signal5 = new AntdUI.Signal();
+ this.label3 = new AntdUI.Label();
+ this.flowPanel1 = new AntdUI.FlowPanel();
+ this.signal6 = new AntdUI.Signal();
+ this.signal7 = new AntdUI.Signal();
+ this.signal8 = new AntdUI.Signal();
+ this.signal9 = new AntdUI.Signal();
+ this.signal10 = new AntdUI.Signal();
+ this.label5 = new AntdUI.Label();
+ this.flowPanel3 = new AntdUI.FlowPanel();
+ this.signal16 = new AntdUI.Signal();
+ this.signal17 = new AntdUI.Signal();
+ this.signal18 = new AntdUI.Signal();
+ this.signal19 = new AntdUI.Signal();
+ this.signal20 = new AntdUI.Signal();
+ this.flowPanel2 = new AntdUI.FlowPanel();
+ this.signal11 = new AntdUI.Signal();
+ this.signal12 = new AntdUI.Signal();
+ this.signal13 = new AntdUI.Signal();
+ this.signal14 = new AntdUI.Signal();
+ this.signal15 = new AntdUI.Signal();
+ this.stackPanel1.SuspendLayout();
+ this.flowPanel.SuspendLayout();
+ this.flowPanel1.SuspendLayout();
+ this.flowPanel3.SuspendLayout();
+ this.flowPanel2.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // stackPanel1
+ //
+ this.stackPanel1.Controls.Add(this.flowPanel2);
+ this.stackPanel1.Controls.Add(this.flowPanel3);
+ this.stackPanel1.Controls.Add(this.label5);
+ this.stackPanel1.Controls.Add(this.flowPanel1);
+ this.stackPanel1.Controls.Add(this.label3);
+ this.stackPanel1.Controls.Add(this.flowPanel);
+ this.stackPanel1.Controls.Add(this.label4);
+ this.stackPanel1.Controls.Add(this.divider1);
+ this.stackPanel1.Controls.Add(this.label2);
+ this.stackPanel1.Controls.Add(this.label1);
+ this.stackPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.stackPanel1.Location = new System.Drawing.Point(0, 0);
+ this.stackPanel1.Name = "stackPanel1";
+ this.stackPanel1.Size = new System.Drawing.Size(700, 488);
+ this.stackPanel1.TabIndex = 0;
+ this.stackPanel1.Text = "stackPanel1";
+ this.stackPanel1.Vertical = true;
+ //
+ // flowPanel
+ //
+ this.flowPanel.Controls.Add(this.signal5);
+ this.flowPanel.Controls.Add(this.signal4);
+ this.flowPanel.Controls.Add(this.signal3);
+ this.flowPanel.Controls.Add(this.signal2);
+ this.flowPanel.Controls.Add(this.signal1);
+ this.flowPanel.Location = new System.Drawing.Point(3, 127);
+ this.flowPanel.Name = "flowPanel";
+ this.flowPanel.Size = new System.Drawing.Size(694, 38);
+ this.flowPanel.TabIndex = 57;
+ this.flowPanel.Text = "flowPanel1";
+ //
+ // label4
+ //
+ this.label4.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label4.Location = new System.Drawing.Point(3, 97);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(694, 24);
+ this.label4.TabIndex = 56;
+ this.label4.Text = "基本用法";
+ //
+ // divider1
+ //
+ this.divider1.Location = new System.Drawing.Point(3, 79);
+ this.divider1.Name = "divider1";
+ this.divider1.Size = new System.Drawing.Size(694, 12);
+ this.divider1.TabIndex = 55;
+ //
+ // label2
+ //
+ this.label2.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label2.Location = new System.Drawing.Point(3, 49);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(694, 24);
+ this.label2.TabIndex = 54;
+ this.label2.Text = "信号显示";
+ //
+ // label1
+ //
+ this.label1.Font = new System.Drawing.Font("Microsoft YaHei UI", 26.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label1.Location = new System.Drawing.Point(3, 3);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(694, 40);
+ this.label1.TabIndex = 53;
+ this.label1.Text = "Signal 信号";
+ //
+ // signal1
+ //
+ this.signal1.Location = new System.Drawing.Point(3, 3);
+ this.signal1.Name = "signal1";
+ this.signal1.Size = new System.Drawing.Size(75, 32);
+ this.signal1.TabIndex = 0;
+ this.signal1.Text = "signal1";
+ this.signal1.Value = 1;
+ //
+ // signal2
+ //
+ this.signal2.Location = new System.Drawing.Point(84, 3);
+ this.signal2.Name = "signal2";
+ this.signal2.Size = new System.Drawing.Size(75, 32);
+ this.signal2.TabIndex = 1;
+ this.signal2.Text = "signal2";
+ this.signal2.Value = 2;
+ //
+ // signal3
+ //
+ this.signal3.Location = new System.Drawing.Point(165, 3);
+ this.signal3.Name = "signal3";
+ this.signal3.Size = new System.Drawing.Size(75, 32);
+ this.signal3.TabIndex = 2;
+ this.signal3.Text = "signal3";
+ this.signal3.Value = 3;
+ //
+ // signal4
+ //
+ this.signal4.Location = new System.Drawing.Point(246, 3);
+ this.signal4.Name = "signal4";
+ this.signal4.Size = new System.Drawing.Size(75, 32);
+ this.signal4.TabIndex = 3;
+ this.signal4.Text = "signal4";
+ this.signal4.Value = 4;
+ //
+ // signal5
+ //
+ this.signal5.Location = new System.Drawing.Point(327, 3);
+ this.signal5.Name = "signal5";
+ this.signal5.Size = new System.Drawing.Size(75, 32);
+ this.signal5.TabIndex = 4;
+ this.signal5.Text = "signal5";
+ this.signal5.Value = 5;
+ //
+ // label3
+ //
+ this.label3.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label3.Location = new System.Drawing.Point(3, 171);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(694, 24);
+ this.label3.TabIndex = 58;
+ this.label3.Text = "线条样式";
+ //
+ // flowPanel1
+ //
+ this.flowPanel1.Controls.Add(this.signal6);
+ this.flowPanel1.Controls.Add(this.signal7);
+ this.flowPanel1.Controls.Add(this.signal8);
+ this.flowPanel1.Controls.Add(this.signal9);
+ this.flowPanel1.Controls.Add(this.signal10);
+ this.flowPanel1.Location = new System.Drawing.Point(3, 201);
+ this.flowPanel1.Name = "flowPanel1";
+ this.flowPanel1.Size = new System.Drawing.Size(694, 38);
+ this.flowPanel1.TabIndex = 59;
+ this.flowPanel1.Text = "flowPanel1";
+ //
+ // signal6
+ //
+ this.signal6.Location = new System.Drawing.Point(327, 3);
+ this.signal6.Name = "signal6";
+ this.signal6.Size = new System.Drawing.Size(75, 32);
+ this.signal6.StyleLine = true;
+ this.signal6.TabIndex = 4;
+ this.signal6.Text = "signal6";
+ this.signal6.Value = 5;
+ //
+ // signal7
+ //
+ this.signal7.Location = new System.Drawing.Point(246, 3);
+ this.signal7.Name = "signal7";
+ this.signal7.Size = new System.Drawing.Size(75, 32);
+ this.signal7.StyleLine = true;
+ this.signal7.TabIndex = 3;
+ this.signal7.Text = "signal7";
+ this.signal7.Value = 4;
+ //
+ // signal8
+ //
+ this.signal8.Location = new System.Drawing.Point(165, 3);
+ this.signal8.Name = "signal8";
+ this.signal8.Size = new System.Drawing.Size(75, 32);
+ this.signal8.StyleLine = true;
+ this.signal8.TabIndex = 2;
+ this.signal8.Text = "signal8";
+ this.signal8.Value = 3;
+ //
+ // signal9
+ //
+ this.signal9.Location = new System.Drawing.Point(84, 3);
+ this.signal9.Name = "signal9";
+ this.signal9.Size = new System.Drawing.Size(75, 32);
+ this.signal9.StyleLine = true;
+ this.signal9.TabIndex = 1;
+ this.signal9.Text = "signal9";
+ this.signal9.Value = 2;
+ //
+ // signal10
+ //
+ this.signal10.Location = new System.Drawing.Point(3, 3);
+ this.signal10.Name = "signal10";
+ this.signal10.Size = new System.Drawing.Size(75, 32);
+ this.signal10.StyleLine = true;
+ this.signal10.TabIndex = 0;
+ this.signal10.Text = "signal10";
+ this.signal10.Value = 1;
+ //
+ // label5
+ //
+ this.label5.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label5.Location = new System.Drawing.Point(3, 245);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(694, 24);
+ this.label5.TabIndex = 60;
+ this.label5.Text = "自定义底色";
+ //
+ // flowPanel3
+ //
+ this.flowPanel3.Controls.Add(this.signal16);
+ this.flowPanel3.Controls.Add(this.signal17);
+ this.flowPanel3.Controls.Add(this.signal18);
+ this.flowPanel3.Controls.Add(this.signal19);
+ this.flowPanel3.Controls.Add(this.signal20);
+ this.flowPanel3.Location = new System.Drawing.Point(3, 275);
+ this.flowPanel3.Name = "flowPanel3";
+ this.flowPanel3.Size = new System.Drawing.Size(694, 38);
+ this.flowPanel3.TabIndex = 62;
+ this.flowPanel3.Text = "flowPanel3";
+ //
+ // signal16
+ //
+ this.signal16.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal16.Location = new System.Drawing.Point(327, 3);
+ this.signal16.Name = "signal16";
+ this.signal16.Size = new System.Drawing.Size(75, 32);
+ this.signal16.TabIndex = 4;
+ this.signal16.Text = "signal16";
+ this.signal16.Value = 5;
+ //
+ // signal17
+ //
+ this.signal17.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal17.Location = new System.Drawing.Point(246, 3);
+ this.signal17.Name = "signal17";
+ this.signal17.Size = new System.Drawing.Size(75, 32);
+ this.signal17.TabIndex = 3;
+ this.signal17.Text = "signal17";
+ this.signal17.Value = 4;
+ //
+ // signal18
+ //
+ this.signal18.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal18.Location = new System.Drawing.Point(165, 3);
+ this.signal18.Name = "signal18";
+ this.signal18.Size = new System.Drawing.Size(75, 32);
+ this.signal18.TabIndex = 2;
+ this.signal18.Text = "signal18";
+ this.signal18.Value = 3;
+ //
+ // signal19
+ //
+ this.signal19.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal19.Location = new System.Drawing.Point(84, 3);
+ this.signal19.Name = "signal19";
+ this.signal19.Size = new System.Drawing.Size(75, 32);
+ this.signal19.TabIndex = 1;
+ this.signal19.Text = "signal19";
+ this.signal19.Value = 2;
+ //
+ // signal20
+ //
+ this.signal20.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal20.Location = new System.Drawing.Point(3, 3);
+ this.signal20.Name = "signal20";
+ this.signal20.Size = new System.Drawing.Size(75, 32);
+ this.signal20.TabIndex = 0;
+ this.signal20.Text = "signal20";
+ this.signal20.Value = 1;
+ //
+ // flowPanel2
+ //
+ this.flowPanel2.Controls.Add(this.signal11);
+ this.flowPanel2.Controls.Add(this.signal12);
+ this.flowPanel2.Controls.Add(this.signal13);
+ this.flowPanel2.Controls.Add(this.signal14);
+ this.flowPanel2.Controls.Add(this.signal15);
+ this.flowPanel2.Location = new System.Drawing.Point(3, 319);
+ this.flowPanel2.Name = "flowPanel2";
+ this.flowPanel2.Size = new System.Drawing.Size(694, 38);
+ this.flowPanel2.TabIndex = 63;
+ this.flowPanel2.Text = "flowPanel2";
+ //
+ // signal11
+ //
+ this.signal11.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal11.Location = new System.Drawing.Point(327, 3);
+ this.signal11.Name = "signal11";
+ this.signal11.Size = new System.Drawing.Size(75, 32);
+ this.signal11.StyleLine = true;
+ this.signal11.TabIndex = 4;
+ this.signal11.Text = "signal11";
+ this.signal11.Value = 5;
+ //
+ // signal12
+ //
+ this.signal12.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal12.Location = new System.Drawing.Point(246, 3);
+ this.signal12.Name = "signal12";
+ this.signal12.Size = new System.Drawing.Size(75, 32);
+ this.signal12.StyleLine = true;
+ this.signal12.TabIndex = 3;
+ this.signal12.Text = "signal12";
+ this.signal12.Value = 4;
+ //
+ // signal13
+ //
+ this.signal13.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal13.Location = new System.Drawing.Point(165, 3);
+ this.signal13.Name = "signal13";
+ this.signal13.Size = new System.Drawing.Size(75, 32);
+ this.signal13.StyleLine = true;
+ this.signal13.TabIndex = 2;
+ this.signal13.Text = "signal13";
+ this.signal13.Value = 3;
+ //
+ // signal14
+ //
+ this.signal14.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal14.Location = new System.Drawing.Point(84, 3);
+ this.signal14.Name = "signal14";
+ this.signal14.Size = new System.Drawing.Size(75, 32);
+ this.signal14.StyleLine = true;
+ this.signal14.TabIndex = 1;
+ this.signal14.Text = "signal14";
+ this.signal14.Value = 2;
+ //
+ // signal15
+ //
+ this.signal15.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(188)))), ((int)(((byte)(212)))));
+ this.signal15.Location = new System.Drawing.Point(3, 3);
+ this.signal15.Name = "signal15";
+ this.signal15.Size = new System.Drawing.Size(75, 32);
+ this.signal15.StyleLine = true;
+ this.signal15.TabIndex = 0;
+ this.signal15.Text = "signal15";
+ this.signal15.Value = 1;
+ //
+ // SignalDemo
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
+ this.Controls.Add(this.stackPanel1);
+ this.Name = "SignalDemo";
+ this.Size = new System.Drawing.Size(700, 488);
+ this.stackPanel1.ResumeLayout(false);
+ this.flowPanel.ResumeLayout(false);
+ this.flowPanel1.ResumeLayout(false);
+ this.flowPanel3.ResumeLayout(false);
+ this.flowPanel2.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private AntdUI.StackPanel stackPanel1;
+ private AntdUI.FlowPanel flowPanel;
+ private AntdUI.Label label4;
+ private AntdUI.Divider divider1;
+ private AntdUI.Label label2;
+ private AntdUI.Label label1;
+ private AntdUI.Signal signal4;
+ private AntdUI.Signal signal3;
+ private AntdUI.Signal signal2;
+ private AntdUI.Signal signal1;
+ private AntdUI.Signal signal5;
+ private AntdUI.Label label3;
+ private AntdUI.FlowPanel flowPanel1;
+ private AntdUI.Signal signal6;
+ private AntdUI.Signal signal7;
+ private AntdUI.Signal signal8;
+ private AntdUI.Signal signal9;
+ private AntdUI.Signal signal10;
+ private AntdUI.Label label5;
+ private AntdUI.FlowPanel flowPanel3;
+ private AntdUI.Signal signal16;
+ private AntdUI.Signal signal17;
+ private AntdUI.Signal signal18;
+ private AntdUI.Signal signal19;
+ private AntdUI.Signal signal20;
+ private AntdUI.FlowPanel flowPanel2;
+ private AntdUI.Signal signal11;
+ private AntdUI.Signal signal12;
+ private AntdUI.Signal signal13;
+ private AntdUI.Signal signal14;
+ private AntdUI.Signal signal15;
+ }
+}
diff --git a/Views/SignalDemo.cs b/Views/SignalDemo.cs
new file mode 100644
index 0000000..5f05c20
--- /dev/null
+++ b/Views/SignalDemo.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace AntdUIDemo.Views
+{
+ public partial class SignalDemo : UserControl
+ {
+ public SignalDemo()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Views/SignalDemo.resx b/Views/SignalDemo.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/Views/SignalDemo.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/assets/screenshots/Icon.png b/assets/screenshots/Icon.png
new file mode 100644
index 0000000..9cc58b0
Binary files /dev/null and b/assets/screenshots/Icon.png differ
diff --git a/assets/screenshots/Signal.png b/assets/screenshots/Signal.png
new file mode 100644
index 0000000..3c720dc
Binary files /dev/null and b/assets/screenshots/Signal.png differ