升级1.6.6,新增SliderRange滑动范围输入条,Tabs支持readonly控制标签关闭

This commit is contained in:
czz_y 2024-10-08 13:30:15 +08:00
parent 3d76b2f3af
commit 8f702b9301
12 changed files with 432 additions and 23 deletions

View File

@ -13,7 +13,7 @@
<Copyright>Copyright © 2024 czz_y</Copyright>
<FileVersion>$(Version)</FileVersion>
<AssemblyVersion>$(Version)</AssemblyVersion>
<Version>1.6.5</Version>
<Version>1.6.6 </Version>
<Authors>czz_y</Authors>
<Description>基于 Winform UI框架 AntdUI 设计的Demo</Description>
<PackageProjectUrl>https://gitee.com/mubaiyanghua/antd-uidemo</PackageProjectUrl>
@ -30,7 +30,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="AntdUI" Version="1.6.5" />
<PackageReference Include="AntdUI" Version="1.6.6" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.3.3" />
</ItemGroup>

View File

@ -244,6 +244,9 @@ namespace AntdUIDemo
case "Slider":
control = new SliderDemo();
break;
case "SliderRange":
control = new SliderRangeDemo();
break;
case "Switch":
control = new SwitchDemo();
break;

View File

@ -49,6 +49,7 @@ namespace AntdUIDemo.Models
new MenuItems { Text = "Select 选择器", Tag = "Select"},
new MenuItems { Text = "SelectMultiple 多选选择器", Tag = "SelectMultiple"},
new MenuItems { Text = "Slider 滑动输入条", Tag = "Slider"},
new MenuItems { Text = "SliderRange 滑动范围输入条", Tag = "SliderRange"},
new MenuItems { Text = "Switch 开关", Tag = "Switch"},
new MenuItems { Text = "TimePicker 时间选择框", Tag = "TimePicker"},
}

View File

@ -4,7 +4,7 @@
<h1>AntdUI Demo</h1>
本项目基于 `Winform .NET Framework 4.8` 开发,是 [AntdUI](https://gitee.com/antdui/AntdUI) 的 Demo 项目,当前版本 `1.6.5`
本项目基于 `Winform .NET Framework 4.8` 开发,是 [AntdUI](https://gitee.com/antdui/AntdUI) 的 Demo 项目,当前版本 `1.6.6`
</div>
@ -91,6 +91,8 @@
![SelectMultiple](assets/screenshots/SelectMultiple.png)
#### Slider 滑动输入条
![Slider](assets/screenshots/Slider.png)
#### SliderRange 滑动范围输入条
![SliderRange](assets/screenshots/SliderRange.png)
#### Switch 开关
![Switch](assets/screenshots/Switch.png)
#### TimePicker 时间选择框

262
Views/SliderRangeDemo.Designer.cs generated Normal file
View File

@ -0,0 +1,262 @@
namespace AntdUIDemo.Views
{
partial class SliderRangeDemo
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
AntdUI.SliderMarkItem sliderMarkItem6 = new AntdUI.SliderMarkItem();
AntdUI.SliderMarkItem sliderMarkItem7 = new AntdUI.SliderMarkItem();
AntdUI.SliderMarkItem sliderMarkItem8 = new AntdUI.SliderMarkItem();
AntdUI.SliderMarkItem sliderMarkItem3 = new AntdUI.SliderMarkItem();
AntdUI.SliderMarkItem sliderMarkItem4 = new AntdUI.SliderMarkItem();
AntdUI.SliderMarkItem sliderMarkItem5 = new AntdUI.SliderMarkItem();
AntdUI.SliderMarkItem sliderMarkItem1 = new AntdUI.SliderMarkItem();
AntdUI.SliderMarkItem sliderMarkItem2 = new AntdUI.SliderMarkItem();
this.stackPanel1 = new AntdUI.StackPanel();
this.label3 = new AntdUI.Label();
this.divider1 = new AntdUI.Divider();
this.label2 = new AntdUI.Label();
this.label1 = new AntdUI.Label();
this.flowPanel1 = new AntdUI.FlowPanel();
this.sliderRange1 = new AntdUI.SliderRange();
this.sliderRange2 = new AntdUI.SliderRange();
this.sliderRange3 = new AntdUI.SliderRange();
this.label4 = new AntdUI.Label();
this.flowPanel2 = new AntdUI.FlowPanel();
this.sliderRange4 = new AntdUI.SliderRange();
this.sliderRange5 = new AntdUI.SliderRange();
this.sliderRange6 = new AntdUI.SliderRange();
this.stackPanel1.SuspendLayout();
this.flowPanel1.SuspendLayout();
this.flowPanel2.SuspendLayout();
this.SuspendLayout();
//
// stackPanel1
//
this.stackPanel1.Controls.Add(this.flowPanel2);
this.stackPanel1.Controls.Add(this.label4);
this.stackPanel1.Controls.Add(this.flowPanel1);
this.stackPanel1.Controls.Add(this.label3);
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(750, 478);
this.stackPanel1.TabIndex = 0;
this.stackPanel1.Text = "stackPanel1";
this.stackPanel1.Vertical = true;
//
// 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, 97);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(744, 24);
this.label3.TabIndex = 21;
this.label3.Text = "基本用法";
this.label3.TooltipConfig = null;
//
// divider1
//
this.divider1.Location = new System.Drawing.Point(3, 79);
this.divider1.Name = "divider1";
this.divider1.Size = new System.Drawing.Size(744, 12);
this.divider1.TabIndex = 20;
//
// 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(744, 24);
this.label2.TabIndex = 19;
this.label2.Text = "滑动型范围输入器,展示可选范围。";
this.label2.TooltipConfig = null;
//
// 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(744, 40);
this.label1.TabIndex = 18;
this.label1.Text = "SliderRange 滑动范围输入条";
this.label1.TooltipConfig = null;
//
// flowPanel1
//
this.flowPanel1.Controls.Add(this.sliderRange3);
this.flowPanel1.Controls.Add(this.sliderRange2);
this.flowPanel1.Controls.Add(this.sliderRange1);
this.flowPanel1.Gap = 6;
this.flowPanel1.Location = new System.Drawing.Point(3, 127);
this.flowPanel1.Name = "flowPanel1";
this.flowPanel1.Size = new System.Drawing.Size(744, 38);
this.flowPanel1.TabIndex = 22;
this.flowPanel1.Text = "flowPanel1";
//
// sliderRange1
//
this.sliderRange1.Location = new System.Drawing.Point(3, 3);
this.sliderRange1.Name = "sliderRange1";
this.sliderRange1.Size = new System.Drawing.Size(195, 23);
this.sliderRange1.TabIndex = 0;
this.sliderRange1.Text = "sliderRange1";
//
// sliderRange2
//
this.sliderRange2.Fill = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(87)))), ((int)(((byte)(34)))));
this.sliderRange2.FillActive = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(87)))), ((int)(((byte)(34)))));
this.sliderRange2.FillHover = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(133)))), ((int)(((byte)(34)))));
this.sliderRange2.Location = new System.Drawing.Point(210, 3);
this.sliderRange2.Name = "sliderRange2";
this.sliderRange2.ShowValue = true;
this.sliderRange2.Size = new System.Drawing.Size(195, 23);
this.sliderRange2.TabIndex = 1;
this.sliderRange2.Text = "sliderRange2";
this.sliderRange2.Value = 50;
//
// sliderRange3
//
this.sliderRange3.Location = new System.Drawing.Point(417, 3);
this.sliderRange3.MaxValue = 10;
this.sliderRange3.Name = "sliderRange3";
this.sliderRange3.ShowValue = true;
this.sliderRange3.Size = new System.Drawing.Size(195, 23);
this.sliderRange3.TabIndex = 2;
this.sliderRange3.Text = "sliderRange3";
this.sliderRange3.Value = 5;
this.sliderRange3.Value2 = 1;
//
// 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, 171);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(744, 24);
this.label4.TabIndex = 23;
this.label4.Text = "固定点";
this.label4.TooltipConfig = null;
//
// flowPanel2
//
this.flowPanel2.Controls.Add(this.sliderRange6);
this.flowPanel2.Controls.Add(this.sliderRange5);
this.flowPanel2.Controls.Add(this.sliderRange4);
this.flowPanel2.Gap = 6;
this.flowPanel2.Location = new System.Drawing.Point(3, 201);
this.flowPanel2.Name = "flowPanel2";
this.flowPanel2.Size = new System.Drawing.Size(744, 61);
this.flowPanel2.TabIndex = 24;
this.flowPanel2.Text = "flowPanel2";
//
// sliderRange4
//
this.sliderRange4.Location = new System.Drawing.Point(3, 3);
sliderMarkItem6.Value = 20;
sliderMarkItem7.Value = 50;
sliderMarkItem8.Value = 75;
this.sliderRange4.Marks.Add(sliderMarkItem6);
this.sliderRange4.Marks.Add(sliderMarkItem7);
this.sliderRange4.Marks.Add(sliderMarkItem8);
this.sliderRange4.Name = "sliderRange4";
this.sliderRange4.Size = new System.Drawing.Size(195, 55);
this.sliderRange4.TabIndex = 1;
this.sliderRange4.Text = "sliderRange4";
//
// sliderRange5
//
this.sliderRange5.Location = new System.Drawing.Point(210, 3);
sliderMarkItem3.Text = "2℃";
sliderMarkItem3.Value = 2;
sliderMarkItem4.Text = "5℃";
sliderMarkItem4.Value = 5;
sliderMarkItem5.Text = "8℃";
sliderMarkItem5.Value = 8;
this.sliderRange5.Marks.Add(sliderMarkItem3);
this.sliderRange5.Marks.Add(sliderMarkItem4);
this.sliderRange5.Marks.Add(sliderMarkItem5);
this.sliderRange5.MaxValue = 10;
this.sliderRange5.Name = "sliderRange5";
this.sliderRange5.ShowValue = true;
this.sliderRange5.Size = new System.Drawing.Size(195, 55);
this.sliderRange5.TabIndex = 2;
this.sliderRange5.Text = "sliderRange5";
this.sliderRange5.Value2 = 6;
//
// sliderRange6
//
this.sliderRange6.Location = new System.Drawing.Point(417, 3);
sliderMarkItem1.Fore = System.Drawing.Color.Orange;
sliderMarkItem1.Text = "上海";
sliderMarkItem1.Value = 2;
sliderMarkItem2.Text = "北京";
sliderMarkItem2.Value = 8;
this.sliderRange6.Marks.Add(sliderMarkItem1);
this.sliderRange6.Marks.Add(sliderMarkItem2);
this.sliderRange6.MaxValue = 10;
this.sliderRange6.Name = "sliderRange6";
this.sliderRange6.ShowValue = true;
this.sliderRange6.Size = new System.Drawing.Size(195, 55);
this.sliderRange6.TabIndex = 3;
this.sliderRange6.Text = "sliderRange6";
this.sliderRange6.Value = 2;
this.sliderRange6.Value2 = 8;
//
// SliderRangeDemo
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
this.Controls.Add(this.stackPanel1);
this.Name = "SliderRangeDemo";
this.Size = new System.Drawing.Size(750, 478);
this.stackPanel1.ResumeLayout(false);
this.flowPanel1.ResumeLayout(false);
this.flowPanel2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private AntdUI.StackPanel stackPanel1;
private AntdUI.Label label3;
private AntdUI.Divider divider1;
private AntdUI.Label label2;
private AntdUI.Label label1;
private AntdUI.FlowPanel flowPanel1;
private AntdUI.SliderRange sliderRange3;
private AntdUI.SliderRange sliderRange2;
private AntdUI.SliderRange sliderRange1;
private AntdUI.Label label4;
private AntdUI.FlowPanel flowPanel2;
private AntdUI.SliderRange sliderRange4;
private AntdUI.SliderRange sliderRange5;
private AntdUI.SliderRange sliderRange6;
}
}

20
Views/SliderRangeDemo.cs Normal file
View File

@ -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 SliderRangeDemo : UserControl
{
public SliderRangeDemo()
{
InitializeComponent();
}
}
}

120
Views/SliderRangeDemo.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -45,7 +45,10 @@ namespace AntdUIDemo.Views
new Column("CellImages", "图片",ColumnAlign.Center),
new Column("CellTags", "标签",ColumnAlign.Center),
new Column("CellBadge", "徽标",ColumnAlign.Center),
new Column("CellText", "富文本"),
new Column("CellText", "富文本")
{
ColAlign = ColumnAlign.Center,//支持表头位置单独设置
},
new Column("CellProgress", "进度条",ColumnAlign.Center),
new Column("CellDivider", "分割线",ColumnAlign.Center),
new Column("CellLinks", "链接",ColumnAlign.Center),

View File

@ -89,7 +89,7 @@
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.Size = new System.Drawing.Size(700, 744);
this.stackPanel1.TabIndex = 0;
this.stackPanel1.Text = "stackPanel1";
this.stackPanel1.Vertical = true;
@ -131,6 +131,7 @@
this.label10.Size = new System.Drawing.Size(688, 23);
this.label10.TabIndex = 0;
this.label10.Text = "Content of Tab Pane 1";
this.label10.TooltipConfig = null;
//
// tabPage8
//
@ -152,6 +153,7 @@
this.label13.Size = new System.Drawing.Size(688, 23);
this.label13.TabIndex = 3;
this.label13.Text = "Content of Tab Pane 2";
this.label13.TooltipConfig = null;
//
// tabPage9
//
@ -173,6 +175,7 @@
this.label14.Size = new System.Drawing.Size(688, 23);
this.label14.TabIndex = 4;
this.label14.Text = "Content of Tab Pane 3";
this.label14.TooltipConfig = null;
//
// label9
//
@ -182,6 +185,7 @@
this.label9.Size = new System.Drawing.Size(694, 24);
this.label9.TabIndex = 27;
this.label9.Text = "居中位置";
this.label9.TooltipConfig = null;
//
// tabs_close
//
@ -208,6 +212,7 @@
this.tabPage2.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F);
this.tabPage2.Location = new System.Drawing.Point(3, 38);
this.tabPage2.Name = "tabPage2";
this.tabPage2.ReadOnly = true;
this.tabPage2.Size = new System.Drawing.Size(688, 79);
this.tabPage2.TabIndex = 0;
this.tabPage2.Text = "Tab1";
@ -220,6 +225,7 @@
this.label12.Size = new System.Drawing.Size(688, 23);
this.label12.TabIndex = 1;
this.label12.Text = "Content of Tab Pane 1";
this.label12.TooltipConfig = null;
//
// tabPage3
//
@ -241,6 +247,7 @@
this.label11.Size = new System.Drawing.Size(688, 23);
this.label11.TabIndex = 2;
this.label11.Text = "Content of Tab Pane 2";
this.label11.TooltipConfig = null;
//
// tabPage4
//
@ -262,6 +269,7 @@
this.label8.Size = new System.Drawing.Size(688, 23);
this.label8.TabIndex = 3;
this.label8.Text = "Content of Tab Pane 3";
this.label8.TooltipConfig = null;
//
// label7
//
@ -271,6 +279,7 @@
this.label7.Size = new System.Drawing.Size(694, 24);
this.label7.TabIndex = 24;
this.label7.Text = "卡片样式";
this.label7.TooltipConfig = null;
//
// tabs1
//
@ -307,6 +316,7 @@
this.label4.Size = new System.Drawing.Size(688, 23);
this.label4.TabIndex = 0;
this.label4.Text = "Content of Tab Pane 1";
this.label4.TooltipConfig = null;
//
// tabPage6
//
@ -327,6 +337,7 @@
this.label5.Size = new System.Drawing.Size(688, 23);
this.label5.TabIndex = 1;
this.label5.Text = "Content of Tab Pane 2";
this.label5.TooltipConfig = null;
//
// tabPage7
//
@ -347,6 +358,7 @@
this.label6.Size = new System.Drawing.Size(688, 23);
this.label6.TabIndex = 2;
this.label6.Text = "Content of Tab Pane 3";
this.label6.TooltipConfig = null;
//
// label3
//
@ -356,6 +368,7 @@
this.label3.Size = new System.Drawing.Size(694, 24);
this.label3.TabIndex = 22;
this.label3.Text = "基本用法";
this.label3.TooltipConfig = null;
//
// divider1
//
@ -372,6 +385,7 @@
this.label2.Size = new System.Drawing.Size(694, 24);
this.label2.TabIndex = 6;
this.label2.Text = "选项卡切换组件。";
this.label2.TooltipConfig = null;
//
// label1
//
@ -381,13 +395,14 @@
this.label1.Size = new System.Drawing.Size(694, 40);
this.label1.TabIndex = 5;
this.label1.Text = "Tabs 标签页";
this.label1.TooltipConfig = null;
//
// TabsDemo
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
this.Controls.Add(this.stackPanel1);
this.Name = "TabsDemo";
this.Size = new System.Drawing.Size(700, 560);
this.Size = new System.Drawing.Size(700, 744);
this.stackPanel1.ResumeLayout(false);
this.tabs3.ResumeLayout(false);
this.tabPage5.ResumeLayout(false);

View File

@ -17,23 +17,6 @@ namespace AntdUIDemo.Views
{
window = _window;
InitializeComponent();
// 绑定事件
BindEventHandler();
}
private void BindEventHandler()
{
tabs_close.ClosingPage += Tabs_close_ClosingPage;
}
private bool Tabs_close_ClosingPage(object sender, AntdUI.ClosingPageEventArgs e)
{
if(tabs_close.Pages.Count == 1)
{
AntdUI.Message.warn(window, "至少保留一个页面", autoClose: 3);
return false;
}
return true;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 396 KiB