diff --git a/AntdUIDemo.csproj b/AntdUIDemo.csproj index 43eec13..927eedf 100644 --- a/AntdUIDemo.csproj +++ b/AntdUIDemo.csproj @@ -13,7 +13,7 @@ Copyright © 2025 czz_y $(Version) $(Version) - 1.8.6 + 1.8.9 czz_y 基于 Winform UI 框架 AntdUI 设计的 Demo https://gitee.com/mubaiyanghua/antd-uidemo @@ -30,7 +30,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/MainWindow.Designer.cs b/MainWindow.Designer.cs index bbd3b0a..542f39f 100644 --- a/MainWindow.Designer.cs +++ b/MainWindow.Designer.cs @@ -29,7 +29,7 @@ private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow)); - AntdUI.Tabs.StyleCard styleCard1 = new AntdUI.Tabs.StyleCard(); + AntdUI.Tabs.StyleCard styleCard2 = new AntdUI.Tabs.StyleCard(); this.titlebar = new AntdUI.PageHeader(); this.input_search = new AntdUI.Input(); this.dropdown_translate = new AntdUI.Dropdown(); @@ -63,7 +63,7 @@ this.titlebar.Size = new System.Drawing.Size(1024, 40); this.titlebar.SubText = "Demo"; this.titlebar.TabIndex = 0; - this.titlebar.Text = "AntdUI 1.8.6"; + this.titlebar.Text = "AntdUI 1.8.9"; // // input_search // @@ -146,15 +146,15 @@ // // tabs // - this.tabs.Cursor = System.Windows.Forms.Cursors.Hand; + this.tabs.Cursor = System.Windows.Forms.Cursors.Default; this.tabs.Dock = System.Windows.Forms.DockStyle.Fill; this.tabs.Gap = 20; this.tabs.Location = new System.Drawing.Point(70, 40); this.tabs.Name = "tabs"; this.tabs.Pages.Add(this.tabPage); this.tabs.Size = new System.Drawing.Size(954, 560); - styleCard1.Closable = true; - this.tabs.Style = styleCard1; + styleCard2.Closable = true; + this.tabs.Style = styleCard2; this.tabs.TabIndex = 9; this.tabs.Type = AntdUI.TabType.Card; // @@ -187,6 +187,7 @@ this.menu.IconRatio = 1F; this.menu.Indent = true; this.menu.Location = new System.Drawing.Point(0, 40); + this.menu.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); this.menu.Name = "menu"; this.menu.Size = new System.Drawing.Size(70, 560); this.menu.TabIndex = 8; diff --git a/MainWindow.cs b/MainWindow.cs index 1cb480b..026e986 100644 --- a/MainWindow.cs +++ b/MainWindow.cs @@ -103,6 +103,8 @@ namespace AntdUIDemo { tabs.Pages.RemoveRange(1, tabs.Pages.Count - 1); // 从索引1开始,移除后面的所有页面 } + menu.Select(null); + menu.Refresh(); } }, menulist); @@ -430,6 +432,9 @@ namespace AntdUIDemo case "Tooltip": control = new TooltipDemo(); break; + case "Tour": + control = new TourDemo(this); + break; case "Tree": control = new TreeDemo(); break; diff --git a/Models/DataUtil.cs b/Models/DataUtil.cs index baf6d16..c90f7e8 100644 --- a/Models/DataUtil.cs +++ b/Models/DataUtil.cs @@ -68,6 +68,7 @@ namespace AntdUIDemo.Models new MenuItems { Text = "Tag 标签", Tag = "Tag"}, new MenuItems { Text = "Timeline 时间轴", Tag = "Timeline"}, new MenuItems { Text = "Tooltip 文字提示", Tag = "Tooltip"}, + new MenuItems { Text = "Tour 漫游式引导" , Tag = "Tour"}, new MenuItems { Text = "Tree 树形控件", Tag = "Tree"} } }, @@ -126,6 +127,7 @@ namespace AntdUIDemo.Models new MenuItems { Text = "FlowPanel", Tag = "FlowPanel"}, new MenuItems { Text = "GridPanel", Tag = "GridPanel"}, new MenuItems { Text = "Panel", Tag = "Panel"}, + new MenuItems { Text = "Splitter ", Tag = "Splitter"}, new MenuItems { Text = "StackPanel", Tag = "StackPanel"} } }, @@ -174,6 +176,7 @@ namespace AntdUIDemo.Models new MenuItems { Text = "Tag", Tag = "Tag"}, new MenuItems { Text = "Timeline", Tag = "Timeline"}, new MenuItems { Text = "Tooltip", Tag = "Tooltip"}, + new MenuItems { Text = "Tour" , Tag = "Tour"}, new MenuItems { Text = "Tree", Tag = "Tree"} } }, diff --git a/README-en.md b/README-en.md index 531ddf3..1fad90a 100644 --- a/README-en.md +++ b/README-en.md @@ -4,7 +4,7 @@

AntdUI Demo

-This project is developed based on `Winform .NET Framework 4.8`, and is a demo project of [AntdUI](https://gitee.com/antdui/AntdUI), the current version is `1.8.6` +This project is developed based on `Winform .NET Framework 4.8`, and is a demo project of [AntdUI](https://gitee.com/antdui/AntdUI), the current version is `1.8.9` diff --git a/README.md b/README.md index dd41f41..aceb5ff 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.8.6` +本项目基于 `Winform .NET Framework 4.8` 开发,是 [AntdUI](https://gitee.com/antdui/AntdUI) 的 Demo 项目,当前版本 `1.8.9` diff --git a/Views/GridPanelDemo.Designer.cs b/Views/GridPanelDemo.Designer.cs index b769085..c3c9e4f 100644 --- a/Views/GridPanelDemo.Designer.cs +++ b/Views/GridPanelDemo.Designer.cs @@ -33,6 +33,7 @@ this.stackPanel2 = new AntdUI.StackPanel(); this.gridPanel = new AntdUI.GridPanel(); this.stackPanel3 = new AntdUI.StackPanel(); + this.label1 = new AntdUI.Label(); this.buttonCZ = new AntdUI.Button(); this.stackPanel4 = new AntdUI.StackPanel(); this.input_gap = new AntdUI.InputNumber(); @@ -40,7 +41,6 @@ this.stackPanel5 = new AntdUI.StackPanel(); this.input_span = new AntdUI.Input(); this.label3 = new AntdUI.Label(); - this.label1 = new AntdUI.Label(); this.stackPanel1.SuspendLayout(); this.stackPanel2.SuspendLayout(); this.stackPanel3.SuspendLayout(); @@ -104,6 +104,15 @@ this.stackPanel3.Text = "stackPanel3"; this.stackPanel3.Vertical = true; // + // label1 + // + this.label1.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label1.Location = new System.Drawing.Point(3, 136); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(244, 120); + this.label1.TabIndex = 21; + this.label1.Text = "Span:以-符号分界。\r\n-前为列宽属性,列宽以 ; 分组,每一组代表一行。\r\n-后为行高属性。\r\n行高属性个数要与行数对应,每个数之间用空格间隔"; + // // buttonCZ // this.buttonCZ.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); @@ -179,15 +188,6 @@ this.label3.TabIndex = 4; this.label3.Text = "Span"; // - // label1 - // - this.label1.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label1.Location = new System.Drawing.Point(3, 136); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(244, 84); - this.label1.TabIndex = 21; - this.label1.Text = "Span:以-为分解。-前为列宽属性,-后为行高属性列宽以;分组。每一组代表一行\r\n行高属性个数要与行数对应,每个数之间用空格间隔"; - // // GridPanelDemo // this.Controls.Add(this.stackPanel1); diff --git a/Views/SubView/Demo.Designer.cs b/Views/SubView/Demo.Designer.cs index 8d8a037..b8ecdd4 100644 --- a/Views/SubView/Demo.Designer.cs +++ b/Views/SubView/Demo.Designer.cs @@ -29,8 +29,8 @@ private void InitializeComponent() { this.panel1 = new AntdUI.Panel(); - this.pageHeader = new AntdUI.PageHeader(); this.button_close = new AntdUI.Button(); + this.pageHeader = new AntdUI.PageHeader(); this.panel1.SuspendLayout(); this.SuspendLayout(); // @@ -46,19 +46,6 @@ this.panel1.TabIndex = 0; this.panel1.Text = "panel1"; // - // pageHeader - // - this.pageHeader.Dock = System.Windows.Forms.DockStyle.Top; - this.pageHeader.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F); - this.pageHeader.Location = new System.Drawing.Point(6, 6); - this.pageHeader.MaximizeBox = false; - this.pageHeader.MinimizeBox = false; - this.pageHeader.Name = "pageHeader"; - this.pageHeader.ShowIcon = false; - this.pageHeader.Size = new System.Drawing.Size(488, 32); - this.pageHeader.TabIndex = 1; - this.pageHeader.Text = "DrawerDemo"; - // // button_close // this.button_close.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F); @@ -69,9 +56,21 @@ this.button_close.Text = "关闭"; this.button_close.Type = AntdUI.TTypeMini.Error; // + // pageHeader + // + this.pageHeader.Dock = System.Windows.Forms.DockStyle.Top; + this.pageHeader.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F); + this.pageHeader.Location = new System.Drawing.Point(6, 6); + this.pageHeader.MaximizeBox = false; + this.pageHeader.MinimizeBox = false; + this.pageHeader.Name = "pageHeader"; + this.pageHeader.ShowButton = true; + this.pageHeader.Size = new System.Drawing.Size(488, 32); + this.pageHeader.TabIndex = 1; + this.pageHeader.Text = "DrawerDemo"; + // // Demo // - this.Controls.Add(this.panel1); this.Name = "Demo"; this.Size = new System.Drawing.Size(500, 420); diff --git a/Views/SubView/TourTest.Designer.cs b/Views/SubView/TourTest.Designer.cs new file mode 100644 index 0000000..c1d58dc --- /dev/null +++ b/Views/SubView/TourTest.Designer.cs @@ -0,0 +1,124 @@ +namespace AntdUIDemo.Views.SubView +{ + partial class TourTest + { + /// + /// 必需的设计器变量。 + /// + 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.label1 = new AntdUI.Label(); + this.panel1 = new AntdUI.Panel(); + this.button_previous = new AntdUI.Button(); + this.button_next = new AntdUI.Button(); + this.label2 = new AntdUI.Label(); + this.label3 = new AntdUI.Label(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // label1 + // + this.label1.Dock = System.Windows.Forms.DockStyle.Top; + this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label1.Location = new System.Drawing.Point(0, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(220, 36); + this.label1.TabIndex = 0; + // + // panel1 + // + this.panel1.Controls.Add(this.label3); + this.panel1.Controls.Add(this.button_previous); + this.panel1.Controls.Add(this.button_next); + this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel1.Location = new System.Drawing.Point(0, 110); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(220, 40); + this.panel1.TabIndex = 5; + this.panel1.Text = "panel1"; + // + // button_previous + // + this.button_previous.BorderWidth = 1F; + this.button_previous.Dock = System.Windows.Forms.DockStyle.Right; + this.button_previous.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button_previous.Location = new System.Drawing.Point(70, 0); + this.button_previous.Name = "button_previous"; + this.button_previous.Size = new System.Drawing.Size(75, 40); + this.button_previous.TabIndex = 7; + this.button_previous.Text = "上一步"; + // + // button_next + // + this.button_next.BorderWidth = 1F; + this.button_next.Dock = System.Windows.Forms.DockStyle.Right; + this.button_next.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button_next.Location = new System.Drawing.Point(145, 0); + this.button_next.Name = "button_next"; + this.button_next.Size = new System.Drawing.Size(75, 40); + this.button_next.TabIndex = 6; + this.button_next.Text = "下一步"; + this.button_next.Type = AntdUI.TTypeMini.Primary; + // + // label2 + // + this.label2.Dock = System.Windows.Forms.DockStyle.Fill; + this.label2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label2.Location = new System.Drawing.Point(0, 36); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(220, 74); + this.label2.TabIndex = 6; + // + // label3 + // + this.label3.Dock = System.Windows.Forms.DockStyle.Fill; + this.label3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label3.Location = new System.Drawing.Point(0, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(70, 40); + this.label3.TabIndex = 8; + // + // TourTest + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; + this.Controls.Add(this.label2); + this.Controls.Add(this.panel1); + this.Controls.Add(this.label1); + this.Name = "TourTest"; + this.Size = new System.Drawing.Size(220, 150); + this.panel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private AntdUI.Label label1; + private AntdUI.Panel panel1; + private AntdUI.Label label3; + private AntdUI.Button button_previous; + private AntdUI.Button button_next; + private AntdUI.Label label2; + } +} diff --git a/Views/SubView/TourTest.cs b/Views/SubView/TourTest.cs new file mode 100644 index 0000000..4155e12 --- /dev/null +++ b/Views/SubView/TourTest.cs @@ -0,0 +1,61 @@ +using AntdUI; +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; +using static System.Net.Mime.MediaTypeNames; + +namespace AntdUIDemo.Views.SubView +{ + public partial class TourTest : UserControl + { + AntdUI.Tour.Popover popover; + public TourTest(AntdUI.Tour.Popover _popover, string title, string text, int step, int max) + { + popover = _popover; + InitializeComponent(); + InitData(title, text, step ,max); + BindEventHandler(); + + } + + private void InitData(string title,string text,int step ,int max) + { + label1.Text = title; + label2.Text = text; + label3.Text = step + " / " + max; + if (step == max) + { + button_next.LocalizationText = "Finish"; + button_next.Text = "完成"; + } + button_previous.Visible = step > 1; + if (button_previous.Visible) + { + int w1 = (int)(label1.PSize.Width / AntdUI.Config.Dpi), w = (int)((label2.PSize.Width + button_previous.PSize.Width + button_next.PSize.Width) / AntdUI.Config.Dpi); + Width = w1 > w ? w1 : w; + } + } + + private void BindEventHandler() + { + button_previous.Click += Button_previous_Click; + button_next.Click += Button_next_Click; + } + + private void Button_next_Click(object sender, EventArgs e) + { + popover.Tour.Next(); + } + + private void Button_previous_Click(object sender, EventArgs e) + { + popover.Tour.Previous(); + } + } +} diff --git a/Views/SubView/TourTest.resx b/Views/SubView/TourTest.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Views/SubView/TourTest.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/Views/TourDemo.Designer.cs b/Views/TourDemo.Designer.cs new file mode 100644 index 0000000..cba7f74 --- /dev/null +++ b/Views/TourDemo.Designer.cs @@ -0,0 +1,171 @@ +namespace AntdUIDemo.Views +{ + partial class TourDemo + { + /// + /// 必需的设计器变量。 + /// + 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.header1 = new AntdUI.PageHeader(); + this.label3 = new AntdUI.Label(); + this.flowPanel1 = new AntdUI.FlowPanel(); + this.button_base = new AntdUI.Button(); + this.flowPanel2 = new AntdUI.FlowPanel(); + this.button3 = new AntdUI.Button(); + this.button2 = new AntdUI.Button(); + this.button1 = new AntdUI.Button(); + this.button_custom = new AntdUI.Button(); + this.flowPanel1.SuspendLayout(); + this.flowPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // header1 + // + this.header1.Description = "用于分步引导用户了解产品功能的气泡组件。"; + this.header1.DividerShow = true; + this.header1.Dock = System.Windows.Forms.DockStyle.Top; + this.header1.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F); + this.header1.Location = new System.Drawing.Point(0, 0); + this.header1.Name = "header1"; + this.header1.Padding = new System.Windows.Forms.Padding(0, 0, 0, 10); + this.header1.Size = new System.Drawing.Size(750, 74); + this.header1.TabIndex = 28; + this.header1.Text = "Tour 漫游式引导"; + this.header1.UseTitleFont = true; + // + // label3 + // + this.label3.Dock = System.Windows.Forms.DockStyle.Top; + 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(0, 74); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(750, 24); + this.label3.TabIndex = 29; + this.label3.Text = "基本用法"; + // + // flowPanel1 + // + this.flowPanel1.Controls.Add(this.button_custom); + this.flowPanel1.Controls.Add(this.button_base); + this.flowPanel1.Dock = System.Windows.Forms.DockStyle.Top; + this.flowPanel1.Location = new System.Drawing.Point(0, 98); + this.flowPanel1.Name = "flowPanel1"; + this.flowPanel1.Size = new System.Drawing.Size(750, 38); + this.flowPanel1.TabIndex = 30; + this.flowPanel1.Text = "flowPanel1"; + // + // button_base + // + this.button_base.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button_base.Location = new System.Drawing.Point(3, 3); + this.button_base.Name = "button_base"; + this.button_base.Size = new System.Drawing.Size(100, 32); + this.button_base.TabIndex = 1; + this.button_base.Text = "Begin Tour"; + this.button_base.Type = AntdUI.TTypeMini.Primary; + this.button_base.WaveSize = 0; + // + // flowPanel2 + // + this.flowPanel2.Controls.Add(this.button3); + this.flowPanel2.Controls.Add(this.button2); + this.flowPanel2.Controls.Add(this.button1); + this.flowPanel2.Dock = System.Windows.Forms.DockStyle.Top; + this.flowPanel2.Location = new System.Drawing.Point(0, 136); + this.flowPanel2.Name = "flowPanel2"; + this.flowPanel2.Size = new System.Drawing.Size(750, 38); + this.flowPanel2.TabIndex = 31; + this.flowPanel2.Text = "flowPanel2"; + // + // button3 + // + this.button3.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button3.IconSvg = "EllipsisOutlined"; + this.button3.Location = new System.Drawing.Point(175, 3); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(40, 32); + this.button3.TabIndex = 4; + this.button3.WaveSize = 0; + // + // button2 + // + this.button2.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button2.Location = new System.Drawing.Point(89, 3); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(80, 32); + this.button2.TabIndex = 3; + this.button2.Text = "Save"; + this.button2.Type = AntdUI.TTypeMini.Primary; + this.button2.WaveSize = 0; + // + // button1 + // + this.button1.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button1.Location = new System.Drawing.Point(3, 3); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(80, 32); + this.button1.TabIndex = 2; + this.button1.Text = "Upload"; + this.button1.WaveSize = 0; + // + // button_custom + // + this.button_custom.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button_custom.Location = new System.Drawing.Point(109, 3); + this.button_custom.Name = "button_custom"; + this.button_custom.Size = new System.Drawing.Size(100, 32); + this.button_custom.TabIndex = 5; + this.button_custom.Text = "Begin Tour"; + this.button_custom.Type = AntdUI.TTypeMini.Primary; + this.button_custom.WaveSize = 0; + // + // TourDemo + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; + this.Controls.Add(this.flowPanel2); + this.Controls.Add(this.flowPanel1); + this.Controls.Add(this.label3); + this.Controls.Add(this.header1); + this.Name = "TourDemo"; + this.Size = new System.Drawing.Size(750, 531); + this.flowPanel1.ResumeLayout(false); + this.flowPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private AntdUI.PageHeader header1; + private AntdUI.Label label3; + private AntdUI.FlowPanel flowPanel1; + private AntdUI.Button button_base; + private AntdUI.FlowPanel flowPanel2; + private AntdUI.Button button3; + private AntdUI.Button button2; + private AntdUI.Button button1; + private AntdUI.Button button_custom; + } +} diff --git a/Views/TourDemo.cs b/Views/TourDemo.cs new file mode 100644 index 0000000..ce565d9 --- /dev/null +++ b/Views/TourDemo.cs @@ -0,0 +1,117 @@ +using AntdUI; +using AntdUIDemo.Views.SubView; +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 TourDemo : UserControl + { + private AntdUI.Window window; + private AntdUI.TourForm tourForm; + public TourDemo(AntdUI.Window _window) + { + window = _window; + InitializeComponent(); + BindEventHandler(); + } + + private void BindEventHandler() + { + button_base.Click += Button_base_Click; + button_custom.Click += Button_custom_Click; + } + + private void Button_custom_Click(object sender, EventArgs e) + { + if (tourForm == null) + { + Form popover = null; + tourForm = AntdUI.Tour.open(window, item => + { + //显示位置 + switch (item.Index) + { + case 0: + item.Set(button1); + break; + case 1: + item.Set(button2); + break; + case 2: + item.Set(button3); + break; + default: + item.Close(); + tourForm = null; + break; + } + }, info => + { + //提示弹窗 + popover?.Close(); + popover = null; + //也可以弹自定义控件,用法同Popover + TourTest tourTest = new TourTest(info, "提示", "Tour Step " + (info.Index + 1), (info.Index + 1), 3); + if (info.Rect.HasValue) popover = AntdUI.Popover.open(new AntdUI.Popover.Config(info.Form, tourTest) + { + Offset = info.Rect.Value, + Focus = false, + Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134))), + }); + }); + } + else + tourForm.Next(); + } + + private void Button_base_Click(object sender, EventArgs e) + { + if (tourForm == null) + { + Form popover = null; + tourForm = AntdUI.Tour.open(window, item => + { + //显示位置 + switch (item.Index) + { + case 0: + item.Set(button1); + break; + case 1: + item.Set(button2); + break; + case 2: + item.Set(button3); + break; + default: + item.Close(); + tourForm = null; + break; + } + }, info => + { + //提示弹窗 + popover?.Close(); + popover = null; + //也可以弹自定义控件,用法同Popover + if (info.Rect.HasValue) popover = AntdUI.Popover.open(new AntdUI.Popover.Config(info.Form, "提示", "第"+(info.Index+1)+"步") + { + Offset = info.Rect.Value, + Focus = false, + Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134))), + }); + }); + } + else + tourForm.Next(); + } + } +} diff --git a/Views/TourDemo.resx b/Views/TourDemo.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Views/TourDemo.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/GridPanel.png b/assets/screenshots/GridPanel.png index a1c94d5..04b8aa2 100644 Binary files a/assets/screenshots/GridPanel.png and b/assets/screenshots/GridPanel.png differ diff --git a/assets/screenshots/Tour.png b/assets/screenshots/Tour.png new file mode 100644 index 0000000..44bba70 Binary files /dev/null and b/assets/screenshots/Tour.png differ