🦄 Beautiful AntdUI

This commit is contained in:
Tom
2026-02-27 21:02:32 +08:00
parent 398301dbb1
commit b66040619b
135 changed files with 2020 additions and 1270 deletions

View File

@@ -27,6 +27,7 @@ Ant Design for WinForms, reimagines desktop app aesthetics with modern frontend
- 💎 Superior shadow effects on Winforms
- 📦 Borderless window with native window features
- 👚 Theme configuration, black and white mode
- 📐 Interactive Security Zone
- 🌍 Internationale
- 🦜 SVG vector graphics
- 👓 DPI adaptation
@@ -66,14 +67,14 @@ Ant Design for WinForms, reimagines desktop app aesthetics with modern frontend
➡️| [**Checkbox**](doc/wiki/en/Control/Checkbox.md) | ✅ | ✅ |
➡️| [**ColorPicker**](doc/wiki/en/Control/ColorPicker.md) | ✅ | ✅ |
➡️| [**DatePicker**](doc/wiki/en/Control/DatePicker.md) | ✅ | ✅ |
➡️| [**DatePickerRange**](doc/wiki/en/Control/DatePicker.md#datepickerrange) | ✅ | ✅ |
➡️| [**DatePickerRange**](doc/wiki/en/Control/DatePickerRange.md) | ✅ | ✅ |
➡️| [**Input**](doc/wiki/en/Control/Input.md) | ✅ | ✅ |
➡️| [**InputNumber**](doc/wiki/en/Control/Input.md#inputnumber) | ✅ | ✅ |
➡️| [**InputNumber**](doc/wiki/en/Control/InputNumber.md) | ✅ | ✅ |
➡️| [**Radio**](doc/wiki/en/Control/Radio.md) | ✅ | ✅ |
➡️| [**Rate**](doc/wiki/en/Control/Rate.md) | ✅ | ❎ |
➡️| [**Select**](doc/wiki/en/Control/Select.md) | ✅ | ✅ |
➡️| [**Slider**](doc/wiki/en/Control/Slider.md) | ✅ | ❎ |
➡️| [**SliderRange**](doc/wiki/en/Control/Slider.md#sliderrange) | ✅ | ❎ |
➡️| [**SliderRange**](doc/wiki/en/Control/SliderRange.md) | ✅ | ❎ |
➡️| [**Switch**](doc/wiki/en/Control/Switch.md) | ✅ | ✅ |
➡️| [**TimePicker**](doc/wiki/en/Control/TimePicker.md) | ✅ | ✅ |
➡️| [**Transfer**](doc/wiki/en/Control/Transfer.md) | ✅ | ❎ |
@@ -121,7 +122,7 @@ Ant Design for WinForms, reimagines desktop app aesthetics with modern frontend
➡️| [**Signal**](doc/wiki/en/Control/Signal.md) | ✅ | ❎ |
➡️| [**Shield**](doc/wiki/en/Control/Shield.md) | ❎ | ❎ |
➡️| [**ContextMenuStrip**](doc/wiki/en/Control/ContextMenuStrip.md) | ✅ | ❎ |
➡️| **Image3D** | ✅ | ❎ |
➡️| [**Image3D**](doc/wiki/en/Control/Image3D.md) | ✅ | ❎ |
### 🐿️ Donation
![Payment](doc/pre/Payment.png)

View File

@@ -28,6 +28,7 @@
- 💎 Winform 上最阴影的阴影效果
- 📦 无边框窗口,拥有原生窗口特性
- 👚 主题配置​,黑白模式
- 📐 交互安全区
- 🌍 全球化支持
- 🦜 SVG 矢量图
- 👓 DPI 适配
@@ -67,14 +68,14 @@
➡️| [**Checkbox** 多选框](doc/wiki/zh/Control/Checkbox.md) | ✅ | ✅ |
➡️| [**ColorPicker** 颜色选择器](doc/wiki/zh/Control/ColorPicker.md) | ✅ | ✅ |
➡️| [**DatePicker** 日期选择框](doc/wiki/zh/Control/DatePicker.md) | ✅ | ✅ |
➡️| [**DatePickerRange** 日期范围选择框](doc/wiki/zh/Control/DatePicker.md#datepickerrange) | ✅ | ✅ |
➡️| [**DatePickerRange** 日期范围选择框](doc/wiki/zh/Control/DatePickerRange.md) | ✅ | ✅ |
➡️| [**Input** 输入框](doc/wiki/zh/Control/Input.md) | ✅ | ✅ |
➡️| [**InputNumber** 数字输入框](doc/wiki/zh/Control/Input.md#inputnumber) | ✅ | ✅ |
➡️| [**InputNumber** 数字输入框](doc/wiki/zh/Control/InputNumber.md) | ✅ | ✅ |
➡️| [**Radio** 单选框](doc/wiki/zh/Control/Radio.md) | ✅ | ✅ |
➡️| [**Rate** 评分](doc/wiki/zh/Control/Rate.md) | ✅ | ❎ |
➡️| [**Select** 选择器](doc/wiki/zh/Control/Select.md) | ✅ | ✅ |
➡️| [**Slider** 滑动输入条](doc/wiki/zh/Control/Slider.md) | ✅ | ❎ |
➡️| [**SliderRange** 滑动范围输入条](doc/wiki/zh/Control/Slider.md#sliderrange) | ✅ | ❎ |
➡️| [**SliderRange** 滑动范围输入条](doc/wiki/zh/Control/SliderRange.md) | ✅ | ❎ |
➡️| [**Switch** 开关](doc/wiki/zh/Control/Switch.md) | ✅ | ✅ |
➡️| [**TimePicker** 时间选择框](doc/wiki/zh/Control/TimePicker.md) | ✅ | ✅ |
➡️| [**Transfer** 穿梭框](doc/wiki/zh/Control/Transfer.md) | ✅ | ❎ |
@@ -123,7 +124,7 @@
➡️| [**Signal** 信号强度](doc/wiki/zh/Control/Signal.md) | ✅ | ❎ |
➡️| [**Shield** 徽章](doc/wiki/zh/Control/Shield.md) | ❎ | ❎ |
➡️| [**ContextMenuStrip** 右键菜单](doc/wiki/zh/Control/ContextMenuStrip.md) | ✅ | ❎ |
➡️| **Image3D** 图片3D | ✅ | ❎ |
➡️| [**Image3D** 图片3D](doc/wiki/zh/Control/Image3D.md) | ✅ | ❎ |
### 🐿️ 捐赠
![Payment](doc/pre/Payment.png)

View File

@@ -14,6 +14,7 @@ Ant Design for WinForms, which deeply integrates Ant Design's modern design conc
- 💎 Winform 上最阴影的阴影效果 | Superior shadow effects on Winforms
- 📦 无边框窗口,拥有原生窗口特性 | Borderless window with native window features
- 👚 主题配置​,黑白模式 | Theme configuration, black and white mode
- 📐 交互安全区 | Interactive Security Zone
- 🌍 全球化支持 | Internationale
- 🦜 SVG 矢量图 | SVG vector graphics
- 👓 DPI 适配 | DPI adaptation

View File

@@ -62,13 +62,13 @@ ComWrappers.RegisterForMarshalling(WinFormsComInterop.WebView2.WebView2ComWrappe
<?xml version="1.0" encoding="utf-8" ?>
<Directives>
<Application>
<Assembly Name="System.Resources.Extensions">
<Type Name="System.Resources.Extensions.RuntimeResourceSet" Dynamic="Required All" />
<Type Name="System.Resources.Extensions.DeserializingResourceReader" Dynamic="Required All" />
</Assembly>
<Assembly Name="System.Drawing">
<Type Name="System.Drawing.Bitmap" Dynamic="Required All" />
</Assembly>
<Assembly Name="System.Resources.Extensions">
<Type Name="System.Resources.Extensions.RuntimeResourceSet" Dynamic="Required All" />
<Type Name="System.Resources.Extensions.DeserializingResourceReader" Dynamic="Required All" />
</Assembly>
<Assembly Name="System.Drawing">
<Type Name="System.Drawing.Bitmap" Dynamic="Required All" />
</Assembly>
</Application>
</Directives>
```

View File

@@ -75,7 +75,7 @@ AntdUI.Config.EmojiEnabled = true;
AntdUI.Config.ScrollBarHide = false;
```
### MinimumSize of ScrollBar Y 🔴
### MinimumSize of ScrollBar Y
> Default `30`
@@ -114,7 +114,7 @@ AntdUI.Config.ShowInWindowByNotification = true;
AntdUI.Config.NoticeWindowOffsetXY = 0;
```
### Close Message/Notification immediately after exceeding the display limit 🔴
### Close Message/Notification immediately after exceeding the display limit
> Default, wait for old ones to close before displaying
@@ -128,7 +128,7 @@ AntdUI.Config.NoticeOverflowClose = false;
AntdUI.Config.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
```
### Text Rendering HighQuality 🔴
### Text Rendering HighQuality
``` csharp
AntdUI.Config.TextRenderingHighQuality = true;

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -16,15 +16,16 @@ Name | Description | Type | Default Value |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**TextTitle** | Title | string`?` | `null` |
🌏 **LocalizationTextTitle** | International Title | string`?` | `null` |
**TextAlign** | Text alignment | ContentAlignment | MiddleLeft |
**Radius** | Rounded corners | int | 6 |
**BorderWidth** | Border width | float | 0F |
**Icon** | Style | [TType](Enum.md#ttype) | None |
**IconSvg** | Custom icon | string`?` | `null` |
**CloseIcon** | Show close icon | bool | false |
**IconRatio** | Icon ratio | float | 0.86F |
**IconGap** | Icon text gap ratio | float | 0.4F |
**IconSvg** | Custom icon SVG | string`?` | `null` |
**CloseIcon** | Whether to show close icon | bool | false |
**IconRatio** | Icon ratio | float`?` | `null` |
**IconGap** | Icon text gap ratio | float`?` | `null` |
**Loop** | Text carousel | bool | false |
**LoopOverflow** | Carousel only when text overflows | bool | false |
**LoopOverflow** | Overflow carousel | bool | false |
**LoopSpeed** | Text carousel speed | int | 10 |
**LoopInfinite** | Endless carousel text | bool | true |
**LoopPauseOnMouseEnter** | Pause carousel on mouse enter | bool | true |

View File

@@ -1,25 +1,26 @@
[Home](../Home.md)・[UpdateLog](../UpdateLog.md)・[Config](../Config.md)・[Theme](../Theme.md)
## Avatar 👚
## Avatar
👚
> Used to represent users or things, supporting the display of images, icons, or characters.
- DefaultPropertyImage
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**OriginalBackColor** | Original background color | Color | Transparent |
||||
**BackColor** | Background color | Color`?` |`null` |
**BackColor** | Background color | Color | Transparent |
**BorderWidth** | Border width | float | 0F |
**BorderColor** | Border color | Color | 246, 248, 250 |
||||
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Radius** | Rounded corners | int | 6 |
**Radius** | Rounded corners | int | 0 |
**Round** | Rounded corner style | bool | false |
||||
**Image** | Image | Image`?` | `null` |
@@ -33,5 +34,12 @@ Name | Description | Type | Default Value |
**ShadowOffsetX** | Shadow offset X | int | 0 |
**ShadowOffsetY** | Shadow offset Y | int | 0 |
||||
**Loading** 🔴 | Loading State | bool | false |
**LoadingProgress** 🔴 | Loading progress `0F-1F` | float | 0F |
**Loading** | Loading State | bool | false |
**LoadingProgress** | Loading progress `0F-1F` | float | 0F |
||||
**EnableHover** | Enable hover interaction | bool | false |
**HoverFore** | Hover foreground | Color`?` | `null` |
**HoverBack** | Hover background | Color`?` | `null` |
**HoverImage** | Hover icon | Image`?` | `null` |
**HoverImageSvg** | Hover icon SVG | string`?` | `null` |
**HoverImageRatio** | Hover icon ratio | float | 0.4F |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -16,11 +16,11 @@ Name | Description | Type | Default Value |
**AutoSizeMode** | Auto size mode | [TAutoSize](Enum.md#tautosize) | None |
||||
**ForeColor** | Text color | Color`?` | `null` |
**Fill** | Fill color | Color`?` | `null` |
**Fill** | Color | Color`?` | `null` |
**State** | State | [TState](Enum.md#tstate) | Default |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**TextAlign** | Text position | ContentAlignment | MiddleCenter |
**TextAlign** | Text position | ContentAlignment | MiddleLeft |
||||
**DotRatio** 🔴 | Dot ratio | float | 0.4F |
**Gap** 🔴 | Gap | int | 0 |
**DotRatio** | Dot ratio | float | 0.4F |
**Gap** | Gap | int | 0 |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyValue
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -24,5 +24,5 @@ Name | Description | Type | Default Value |
**FillFully** | Full charge color | Color | 0, 210, 121 |
**FillWarn** | Warning battery color | Color | 250, 173, 20 |
**FillDanger** | Dangerous battery color | Color | 255, 77, 79 |
**ValueWarn** 🔴 | Warning battery threshold | int | 30 |
**ValueDanger** 🔴 | Dangerous electricity threshold | int | 20 |
**ValueWarn** | Warning battery threshold | int | 30 |
**ValueDanger** | Dangerous battery threshold | int | 20 |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyItems
- DefaultEventItemClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -18,11 +18,11 @@ Name | Description | Type | Default Value |
**Radius** | Rounded corners | int | 4 |
**Gap** | Gap | int | 12 |
||||
**Items** | Data `BreadcrumbItem[]` | [BreadcrumbItem[]](#breadcrumbitem) | [] |
**Items** | Data | BreadcrumbItemCollection | [] |
||||
**PauseLayout** | Pause Layout | bool | false |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -35,9 +35,9 @@ Name | Description | Return Value | Parameters |
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**ID** | ID | string`?` |`null`|
**ID** | ID | string`?` | `null` |
**Icon** | Icon | Image`?` | `null` |
**IconSvg** | Icon SVG | string | `null` |
**Text** | Text | string | `Required` |
**IconSvg** | Icon SVG | string`?` | `null` |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Tag** | User defined data | object`?` | `null` |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -24,7 +24,7 @@ Name | Description | Type | Default Value |
**BackColor** | Background color | Color`?` | `null` |
**BackExtend** | Background gradient color | string`?` | `null` |
**BackHover** | Hover background color | Color`?` | `null` |
**BackActive** | Activate background color | Color`?` | `null` |
**BackActive** | Active background color | Color`?` | `null` |
||||
**DefaultBack** | Default type background color | Color`?` | `null` |
**DefaultBorderColor** | Default type border color | Color`?` | `null` |

View File

@@ -8,46 +8,53 @@
- DefaultPropertyDate
- DefaultEventDateChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
||||
**Radius** | Rounded corners | int | 6 |
||||
**Full** | Is it fully supported | bool | false |
**ShowChinese** | Display Lunar Calendar | bool | false |
**ShowButtonToDay** | Display today | bool | true |
**Full** | Whether to fill | bool | false |
**ShowChinese** | Show lunar calendar | bool | false |
**ShowButtonToDay** | Show today | bool | true |
||||
**Value** | Current date | DateTime | `DateTime.Now` |
**MinDate** | Min date | DateTime`?` | `null` |
**MaxDate** | Max date | DateTime`?` | `null` |
||||
**Back** | Background color | Color`?` | `null` |
**BackExtend** | Background gradient color | string`?` | `null` |
**Fore** | Text color | Color`?` | `null` |
### Badge on the date
~~~ csharp
BadgeAction = dates =>
{
// The dates parameter is FHIR [], and the array length is fixed at 2. It returns the start and end dates displayed on the UI
// DateTime start_date = dates[0], end_date = dates[1];
var now = dates[1];
return new List<AntdUI.DateBadge> {
new AntdUI.DateBadge(now.ToString("yyyy-MM-dd"),0,Color.FromArgb(112, 237, 58)),
new AntdUI.DateBadge(now.AddDays(1).ToString("yyyy-MM-dd"),5),
new AntdUI.DateBadge(now.AddDays(-2).ToString("yyyy-MM-dd"),99),
new AntdUI.DateBadge(now.AddDays(-6).ToString("yyyy-MM-dd"),998),
};
// The dates parameter is FHIR [], and the array length is fixed at 2. It returns the start and end dates displayed on the UI
// DateTime start_date = dates[0], end_date = dates[1];
var now = dates[1];
return new List<AntdUI.DateBadge> {
new AntdUI.DateBadge(now.ToString("yyyy-MM-dd"),0,Color.FromArgb(112, 237, 58)),
new AntdUI.DateBadge(now.AddDays(1).ToString("yyyy-MM-dd"),5),
new AntdUI.DateBadge(now.AddDays(-2).ToString("yyyy-MM-dd"),99),
new AntdUI.DateBadge(now.AddDays(-6).ToString("yyyy-MM-dd"),998),
};
};
~~~
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**LoadBadge** | Load Badge | void | |
**LoadBadge** | Load badge | void | |
**SetBadge** | Set badge | void | Dictionary<string, DateBadge> dir |
**SetBadge** | Set badge | void | IList<DateBadge> dir |
**SetMinMax** | Set min and max date | void | DateTime min, DateTime max |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**DateChanged** | Occurred when the Value changes | void | DateTime value |
**DateChanged** | Occurred when the value changes | void | DateTime value |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyImage
- DefaultEventSelectIndexChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -25,11 +25,11 @@ Name | Description | Type | Default Value |
**Radius** | Rounded corners | int | 0 |
**Round** | Rounded corner style | bool | false |
||||
**Image** | Image Collection `CarouselItem[]` | [CarouselItem[]](#carouselitem) | [] |
**Image** | Image Collection `CarouselItemCollection` | [CarouselItemCollection](#carouselitem) | [] |
**ImageFit** | Image layout | [TFit](Enum.md#tfit) | Cover |
**SelectIndex** | Select index | int | 0 |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -41,5 +41,6 @@ Name | Description | Return Value | Parameters |
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**ID** | ID | string`?` | `null` |
**Img** | Image | Image`?` | `null` |
**Tag** | User defined data | object`?` | `null` |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyChecked
- DefaultEventCheckedChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -21,13 +21,14 @@ Name | Description | Type | Default Value |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**TextAlign** | Text position | ContentAlignment | MiddleLeft |
**UseMnemonic** | Mnemonic key | bool | true |
**Checked** | Checked state | bool | false |
**CheckState** | Checked state | CheckState | Unchecked |
**AutoCheck** | Click to automatically change the selected status | bool | true |
**AutoCheck** | Auto check on click | bool | true |
||||
**RightToLeft** | Reverse | RightToLeft | No |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -8,30 +8,37 @@
- DefaultPropertyItems
- DefaultEventExpandChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**AutoSize** | Auto size | bool | false |
**ForeColor** | Text color | Color`?` | `null` |
**ForeActive** | Text active color | Color`?` | `null` |
**HeaderBg** | Head background | Color`?` | `null` |
**HeaderPadding** | Head margin | Size | 16, 12 |
**ContentPadding** | Content margin | Size | 16, 16 |
**HeaderPadding** | Head padding | Size | 16, 12 |
**ContentPadding** | Content padding | Size | 16, 16 |
||||
**BorderWidth** | Border width | float | 1F |
**BorderColor** | Border color | Color`?` | `null` |
||||
**Radius** | Rounded corners | int |6 |
**Radius** | Rounded corners | int | 6 |
**Gap** | Gap | int | 0 |
**Unique** | Keep only one unfolded | bool | false |
**UniqueFull** | One expanded full | bool | false |
**AnimationSpeed** | Expand/collapse animation speed | int | 100 |
**FontExpand** | Expanded title font | Font`?` | `null` |
**TooltipConfig** | Text overflow tooltip configuration | TooltipConfig`?` | `null` |
||||
**Items** | Data `CollapseItem[]` | [CollapseItem[]](#collapseitem) | [] |
**Items** | Data collection | CollapseItemCollection | - |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ExpandChanged** | Occurrence when Expand attribute value changes | void | [CollapseItem](#collapseitem) value, bool Expand `Expand or not` |
**ExpandChanged** | Occurs when Expand property value changes | void | [CollapseItem](#collapseitem) value, bool Expand `Expand or not` |
**ExpandingChanged** | Occurs when Expanding property value changes | void | [CollapseItem](#collapseitem) value, bool Expand `Expand or not` |
**ButtonClick** | Occurs when button on CollapseItem is clicked | void | [CollapseItem](#collapseitem) value, CollapseGroupButton button `Button` |
### Data
@@ -41,7 +48,8 @@ Name | Description | Return Value | Parameters |
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Expand** | Expand | bool | true |
**Full** 🔴 | Is the remaining space fully filled | bool | false |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Expand** | Whether to expand | bool | false |
**Full** | Whether to fill remaining space | bool | false |
**Text** | Text | string | "" |
🌏 **LocalizationText** | International text | string`?` | `null` |
**Buttons** | Button collection | CollapseGroupButtonCollection | - |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyValue
- DefaultEventValueChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -33,11 +33,11 @@ Name | Description | Type | Default Value |
**ShowSymbol** | Display custom symbol (length<4) | bool | false |
**Text** | Text | string | `""` |
||||
**JoinLeft** 🔴 | Connect left area `Combination button` | bool | false |
**JoinRight** 🔴 | Connect right area `Combination button` | bool | false |
**JoinMode** | Combination mode | [TJoinMode](Enum.md#tjoinmode) | None |
**JoinLeft** | Connect left area `Combination button` (Obsolete, use JoinMode) | bool | false |
**JoinRight** | Connect right area `Combination button` (Obsolete, use JoinMode) | bool | false |
||||
**Value** | Value of color | Color | Style.Db.Primary `Theme color` |
**Value** | Value of color | Color | Colour.Primary.Get(nameof(ColorPicker)) `Theme color` |
**DisabledAlpha** | Disable transparency | bool | false |
**AllowClear** | Support clearing | bool | false |
**ShowClose** | Display the close button | bool | false |
@@ -51,14 +51,14 @@ Name | Description | Type | Default Value |
**DropDownArrow** | Is the dropdown arrow displayed | bool | true |
**DropDownFontRatio** | Dropdown font ratio | float | 0.9F |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ClearValue** | Clear value | void | |
**ClearValue** | Clear value | void | Color def `Default Color` |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -9,7 +9,7 @@
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Target** | Target | Target | `Required` |
**Control** | Belonging Control | Form | `Required` |
**Control** | Belonging Control `Obsolete, use Target` | Form | `Required` |
**Items** | Menu content `IContextMenuStripItem[]` | [IContextMenuStripItem[]](#contextmenustripitem) | [] |
**Font** | Font | Font |`null`|
**Radius** | Rounded corners | int | 6 |
@@ -41,7 +41,7 @@ Name | Description | Type | Default Value |
**Fore** | Text color | Color`?` | `null` |
**Icon** | Icon | Image`?` | `null` |
**IconSvg** | Icon SVG | string`?` | `null` |
**Enabled** 🔴 | Enable | bool | true |
**Enabled** | Enable | bool | true |
**Checked** | Checked | bool | false |
**Sub** | Sub item `IContextMenuStripItem[]` | [IContextMenuStripItem[]](#contextmenustripitem) | `null` |
**Tag** | User defined data | object`?` | `null` |
@@ -74,7 +74,7 @@ Name | Description | Type | Default Value |
**Fore** | Text color | Color`?` | `null` |
**Icon** | Icon | Image`?` | `null` |
**IconSvg** | Icon SVG | string`?` | `null` |
**Enabled** 🔴 | Enable | bool | true |
**Enabled** | Enable | bool | true |
**Checked** | Checked | bool | false |
**Tag** | User defined data | object`?` | `null` |
@@ -84,109 +84,109 @@ Name | Description | Type | Default Value |
~~~csharp
string svg_back = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112c-4.1 3.2-4.1 9.4 0 12.6l142 112c5.2 4.1 12.9 0.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z\"></path></svg>",
svg_refresh = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2-29.4-29.4-52.5-63.6-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5c-16.1 38.1-39.2 72.3-68.6 101.7-9.3 9.3-19.1 18-29.3 26L668.2 724c-4.1-5.3-12.5-3.5-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 0.8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z\"></path></svg>",
svg_save = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184z m456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z\" ></path><path d=\"M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z m0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\"></path></svg>",
svg_print = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z\"></path><path d=\"M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180z m304 664H360V568h304v276z m200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z\"></path></svg>",
svg_laptop = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208z m228.3 608l8.1-37h150.3l8.1 37H428.7z m224 0l-19.1-86.7c-0.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z\"></path></svg>",
svg_qr = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8z m-56 284H192V192h220v220z\"></path><path d=\"M274 338h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM468 548H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8z m-56 284H192V612h220v220z\"></path><path d=\"M274 758h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM864 128H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32z m-32 284H612V192h220v220z\"></path><path d=\"M694 338h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM888 548h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8z\"></path><path d=\"M746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM888 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path></svg>",
svg_a = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zM253.7 736h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-0.2 3.2-0.5 5.1-1.8 7.8-7.3 6-12.4L573.6 118.6c-1.4-3.9-5.1-6.6-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-0.4 1-0.5 2.1-0.5 3.2-0.1 5.3 4.3 9.7 9.7 9.7z m255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z\"></path></svg>",
svg_fy = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M140 188h584v164h76V144c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h544v-76H140V188z\"></path><path d=\"M414.3 256h-60.6c-3.4 0-6.4 2.2-7.6 5.4L219 629.4c-0.3 0.8-0.4 1.7-0.4 2.6 0 4.4 3.6 8 8 8h55.1c3.4 0 6.4-2.2 7.6-5.4L322 540h196.2L422 261.4c-1.3-3.2-4.3-5.4-7.7-5.4z m12.4 228h-85.5L384 360.2 426.7 484zM936 528H800v-93c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v93H592c-13.3 0-24 10.7-24 24v176c0 13.3 10.7 24 24 24h136v152c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V752h136c13.3 0 24-10.7 24-24V552c0-13.3-10.7-24-24-24zM728 680h-88v-80h88v80z m160 0h-88v-80h88v80z\"></path></svg>",
svg_add = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path></svg>",
svg_share = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8c1.7-9.3 2.6-19 2.6-28.8s-0.9-19.4-2.6-28.8l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120z m0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z m440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z\"></path></svg>",
svg_about = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9 0.1 0.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5 0.5L80.9 474.2c-21.2 21.1-21.2 55.3 0 76.4L474.6 944c21.2 21.1 55.4 21.1 76.5 0l165.1-165c19-18.9 19-49.7 0-68.6-19-18.9-49.7-18.9-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c0.4-0.4 0.9-0.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0z\"></path><path d=\"M408.6 514.4a106.3 106.2 0 1 0 212.6 0 106.3 106.2 0 1 0-212.6 0Z\"></path><path d=\"M944.8 475.8L821.9 353.5c-19-18.9-49.8-18.9-68.7 0.1-19 18.9-19 49.7 0 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7c-19 18.9-19 49.7 0 68.6 19 18.9 49.7 18.9 68.7 0l121.8-121.7c21.1-21.1 21.1-55.2-0.1-76.4z\"></path></svg>";
svg_refresh = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2-29.4-29.4-52.5-63.6-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5c-16.1 38.1-39.2 72.3-68.6 101.7-9.3 9.3-19.1 18-29.3 26L668.2 724c-4.1-5.3-12.5-3.5-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 0.8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z\"></path></svg>",
svg_save = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184z m456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z\" ></path><path d=\"M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z m0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\"></path></svg>",
svg_print = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z\"></path><path d=\"M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180z m304 664H360V568h304v276z m200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z\"></path></svg>",
svg_laptop = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208z m228.3 608l8.1-37h150.3l8.1 37H428.7z m224 0l-19.1-86.7c-0.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z\"></path></svg>",
svg_qr = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8z m-56 284H192V192h220v220z\"></path><path d=\"M274 338h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM468 548H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8z m-56 284H192V612h220v220z\"></path><path d=\"M274 758h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM864 128H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32z m-32 284H612V192h220v220z\"></path><path d=\"M694 338h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM888 548h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8z\"></path><path d=\"M746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM888 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path></svg>",
svg_a = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zM253.7 736h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-0.2 3.2-0.5 5.1-1.8 7.8-7.3 6-12.4L573.6 118.6c-1.4-3.9-5.1-6.6-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-0.4 1-0.5 2.1-0.5 3.2-0.1 5.3 4.3 9.7 9.7 9.7z m255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z\"></path></svg>",
svg_fy = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M140 188h584v164h76V144c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h544v-76H140V188z\"></path><path d=\"M414.3 256h-60.6c-3.4 0-6.4 2.2-7.6 5.4L219 629.4c-0.3 0.8-0.4 1.7-0.4 2.6 0 4.4 3.6 8 8 8h55.1c3.4 0 6.4-2.2 7.6-5.4L322 540h196.2L422 261.4c-1.3-3.2-4.3-5.4-7.7-5.4z m12.4 228h-85.5L384 360.2 426.7 484zM936 528H800v-93c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v93H592c-13.3 0-24 10.7-24 24v176c0 13.3 10.7 24 24 24h136v152c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V752h136c13.3 0 24-10.7 24-24V552c0-13.3-10.7-24-24-24zM728 680h-88v-80h88v80z m160 0h-88v-80h88v80z\"></path></svg>",
svg_add = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path></svg>",
svg_share = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8c1.7-9.3 2.6-19 2.6-28.8s-0.9-19.4-2.6-28.8l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120z m0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z m440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z\"></path></svg>",
svg_about = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9 0.1 0.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5 0.5L80.9 474.2c-21.2 21.1-21.2 55.3 0 76.4L474.6 944c21.2 21.1 55.4 21.1 76.5 0l165.1-165c19-18.9 19-49.7 0-68.6-19-18.9-49.7-18.9-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c0.4-0.4 0.9-0.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0z\"></path><path d=\"M408.6 514.4a106.3 106.2 0 1 0 212.6 0 106.3 106.2 0 1 0-212.6 0Z\"></path><path d=\"M944.8 475.8L821.9 353.5c-19-18.9-49.8-18.9-68.7 0.1-19 18.9-19 49.7 0 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7c-19 18.9-19 49.7 0 68.6 19 18.9 49.7 18.9 68.7 0l121.8-121.7c21.1-21.1 21.1-55.2-0.1-76.4z\"></path></svg>";
var menulist = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("发送标签页到你的设备")
{
IconSvg = svg_laptop
},
new AntdUI.ContextMenuStripItem("为此页面创建QR代码")
{
IconSvg = svg_qr
},
new AntdUI.ContextMenuStripItem("大声朗读", "Ctrl+Shift+U")
{
IconSvg = svg_a
},
new AntdUI.ContextMenuStripItem("翻译为 中文(简体)")
{
IconSvg = svg_fy
},
new AntdUI.ContextMenuStripItem("将页面添加到集锦")
{
Sub = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back,
Sub = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh, Checked = true
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
},
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh, Checked = true
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
},
IconSvg = svg_add
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("共享")
{
IconSvg = svg_share
},
new AntdUI.ContextMenuStripItem("关于")
{
IconSvg = svg_about
},
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("发送标签页到你的设备")
{
IconSvg = svg_laptop
},
new AntdUI.ContextMenuStripItem("为此页面创建QR代码")
{
IconSvg = svg_qr
},
new AntdUI.ContextMenuStripItem("大声朗读", "Ctrl+Shift+U")
{
IconSvg = svg_a
},
new AntdUI.ContextMenuStripItem("翻译为 中文(简体)")
{
IconSvg = svg_fy
},
new AntdUI.ContextMenuStripItem("将页面添加到集锦")
{
Sub = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back,
Sub = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh, Checked = true
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
},
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh, Checked = true
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
},
IconSvg = svg_add
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("共享")
{
IconSvg = svg_share
},
new AntdUI.ContextMenuStripItem("关于")
{
IconSvg = svg_about
},
};
AntdUI.ContextMenuStrip.open(this, it =>
{
Debug.WriteLine("Click on the content" + it.Text);
Debug.WriteLine("Click on the content" + it.Text);
}, menulist);
~~~

View File

@@ -8,7 +8,7 @@
- DefaultPropertyValue
- DefaultEventValueChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -17,69 +17,38 @@ Name | Description | Type | Default Value |
**Value** | Current date | DateTime`?` | `null` |
**MinDate** | Min date | DateTime`?` | `null` |
**MaxDate** | Max date | DateTime`?` | `null` |
**Presets** | Presets Menu | object[] | [] |
**Presets** | Presets | BaseCollection | - |
**BadgeAction** | Date badge callback | Func<DateTime[], List<DateBadge>?>? | `null` |
||||
**Placement** | Menu pop-up location | [TAlignFrom](Enum.md#talignfrom) | BL |
**DropDownArrow** | Is the dropdown arrow displayed | bool | false |
**ShowIcon** | Display icon or not | bool | true |
**ValueTimeHorizontal** | Horizontal alignment of time item | bool | false |
**ShowButtonToDay** | Show today | bool | true |
**Picker** | Picker type | [TDatePicker](Enum.md#tdatepicker) | Date |
**EnabledValueTextChange** | Whether to update Value when text changes | bool | false |
### Badge on the date
~~~ csharp
BadgeAction = dates =>
{
// The dates parameter is FHIR [], and the array length is fixed at 2. It returns the start and end dates displayed on the UI
// DateTime start_date = dates[0], end_date = dates[1];
var now = dates[1];
return new List<AntdUI.DateBadge> {
new AntdUI.DateBadge(now.ToString("yyyy-MM-dd"),0,Color.FromArgb(112, 237, 58)),
new AntdUI.DateBadge(now.AddDays(1).ToString("yyyy-MM-dd"),5),
new AntdUI.DateBadge(now.AddDays(-2).ToString("yyyy-MM-dd"),99),
new AntdUI.DateBadge(now.AddDays(-6).ToString("yyyy-MM-dd"),998),
};
// The dates parameter is DateTime[], and the array length is fixed at 2. It returns the start and end dates displayed on the UI
// DateTime start_date = dates[0], end_date = dates[1];
var now = dates[1];
return new List<AntdUI.DateBadge> {
new AntdUI.DateBadge(now.ToString("yyyy-MM-dd"),0,Color.FromArgb(112, 237, 58)),
new AntdUI.DateBadge(now.AddDays(1).ToString("yyyy-MM-dd"),5),
new AntdUI.DateBadge(now.AddDays(-2).ToString("yyyy-MM-dd"),99),
new AntdUI.DateBadge(now.AddDays(-6).ToString("yyyy-MM-dd"),998),
};
};
~~~
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ValueChanged** | Occurred when the Value changes | void | DateTime? value |
**PresetsClickChanged** | Occurrence upon preset click | void | object? value `Click on item` |
***
## DatePickerRange 👚
> Enter or select a date range. Inherited from [Input](Input)
- DefaultPropertyValue
- DefaultEventValueChanged
### Property
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Format** | Format | string | yyyy-MM-dd `HH:mm:ss Display hour minute second selection box` |
||||
**Value** | Current date | DateTime[]`?` | `null` |
**MinDate** | Min date | DateTime`?` | `null` |
**MaxDate** | Max date | DateTime`?` | `null` |
**Presets** | Presets Menu | object[] | [] |
||||
**PlaceholderStart** | Displayed watermark text S | string`?` | `null` |
**PlaceholderEnd** | Displayed watermark text E | string`?` | `null` |
**SwapSvg** | Exchange icon SVG | string`?` | `null` |
**Placement** | Menu pop-up location | [TAlignFrom](Enum.md#talignfrom) | BL |
**DropDownArrow** | Is the dropdown arrow displayed | bool | false |
**ShowIcon** | Display icon or not | bool | true |
### Event
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ValueChanged** | Occurred when the value of the Value property is changed | void | DateTime[]? value |
**PresetsClickChanged** | Occurrence upon preset click | void | object? value `Click on item` |
**ExpandDropChanged** | Occurs when the dropdown expand property changes | void | bool value `Whether to expand` |

View File

@@ -0,0 +1,42 @@
[Home](../Home.md)・[UpdateLog](../UpdateLog.md)・[Config](../Config.md)・[Theme](../Theme.md)
## DatePickerRange
👚
> Enter or select a date range. Inherited from [Input](Input)
- DefaultPropertyValue
- DefaultEventValueChanged
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Format** | Format | string | yyyy-MM-dd `HH:mm:ss Display hour minute second selection box` |
||||
**Value** | Current date | DateTime[]`?` | `null` |
**MinDate** | Min date | DateTime`?` | `null` |
**MaxDate** | Max date | DateTime`?` | `null` |
**Presets** | Presets | BaseCollection | - |
**BadgeAction** | Date badge callback | Func<DateTime[], List<DateBadge>?>? | `null` |
||||
**PlaceholderStart** | Displayed watermark text S | string`?` | `null` |
**LocalizationPlaceholderStart** | Displayed watermark text S (Internationalization) | string`?` | `null` |
**PlaceholderEnd** | Displayed watermark text E | string`?` | `null` |
**LocalizationPlaceholderEnd** | Displayed watermark text E (Internationalization) | string`?` | `null` |
**SwapSvg** | Exchange icon SVG | string`?` | `null` |
**Placement** | Menu pop-up location | [TAlignFrom](Enum.md#talignfrom) | BL |
**DropDownArrow** | Is the dropdown arrow displayed | bool | true |
**ShowIcon** | Display icon or not | bool | true |
**ValueTimeHorizontal** | Horizontal alignment of time item | bool | false |
**InteractiveReset** | Interactive reset (whether to start time selection every time) | bool | true |
**Picker** | Picker type | [TDatePicker](Enum.md#tdatepicker) | Date |
**EnabledValueTextChange** | Whether to update Value when text changes | bool | false |
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ValueChanged** | Occurred when the value of the Value property is changed | void | DateTime[]? value |
**PresetsClickChanged** | Occurrence upon preset click | void | object? value `Click on item` |
**ExpandDropChanged** | Occurs when the dropdown expand property changes | void | bool value `Whether to expand` |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -18,4 +18,5 @@ Name | Description | Type | Default Value |
**TextPadding** | Distance between text and line `Same font size` | float | 0.4F |
**Thickness** | Thickness | float | 0.6F |
**ColorSplit** | Line color | Color`?` | `null` |
**Text** | Text | string`?` | `null` |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International text | string`?` | `null` |

View File

@@ -12,15 +12,17 @@ Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Form** | Belonging window | Form | `Required` |
**Content** | Content | Control | `Required` |
**ColorScheme** | Color scheme | [TAMode](Enum.md#tamode) | Auto |
**Mask** | Display mask or not | bool | true |
**MaskClosable** | Click whether to allow the mask to be closed | bool | true |
**ManualActivateParent** | Manually activate parent window after closing | bool | false |
**Padding** | Padding | int | 24 |
**Align** | Align | [TAlignMini](Enum.md#talignmini) | Right |
**Dispose** | Should it be released | bool | true |
**Tag** | User defined data | object`?` | `null` |
**OnLoad** | Load callback | Action`?` | `null` |
**OnClose** | Close callback | Action`?` | `null` |
**DisplayDelay** 🔴 | Display Delay `Adding delay can effectively avoid competing with Mask animation` | int | 100 |
**DisplayDelay** | Display Delay `Adding delay can effectively avoid competing with Mask animation` | int | 100 |
***
@@ -29,16 +31,16 @@ Name | Description | Type | Default Value |
~~~csharp
public partial class UserControl1 : UserControl, AntdUI.ControlEvent
{
public void LoadCompleted()
{
System.Diagnostics.Debug.WriteLine("Load");
}
public void LoadCompleted()
{
System.Diagnostics.Debug.WriteLine("Load");
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
System.Diagnostics.Debug.WriteLine("Close");
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
System.Diagnostics.Debug.WriteLine("Close");
}
}
~~~
@@ -47,8 +49,8 @@ public partial class UserControl1 : UserControl, AntdUI.ControlEvent
~~~csharp
private async void button1_Click(object sender, EventArgs e)
{
var usercontrol = new UserControl1(form);
await AntdUI.Drawer.wait(form, usercontrol, AntdUI.TAlignMini.Left);
System.Diagnostics.Debug.WriteLine("End" + usercontrol.ToString());
var usercontrol = new UserControl1(form);
await AntdUI.Drawer.wait(form, usercontrol, AntdUI.TAlignMini.Left);
System.Diagnostics.Debug.WriteLine("End" + usercontrol.ToString());
}
~~~

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventSelectedValueChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -16,15 +16,19 @@ Name | Description | Type | Default Value |
**Trigger** | Trigger dropdown behavior | [Trigger](Enum.md#trigger) | Click |
**Placement** | Menu pop-up location | [TAlignFrom](Enum.md#talignfrom) | BL |
**MaxCount** | Maximum of displayed items in the list | int | 4 |
**DropDownRadius** 🔴 | Pull down rounded corner | int`?` | `null` |
**DropDownRadius** | Pull down rounded corner | int`?` | `null` |
**DropDownArrow** | Is the dropdown arrow displayed | bool | false |
**DropDownPadding** | Pull down margin | Size | 12, 5 |
**DropDownTextAlign** | Dropdown text alignment | [TAlign](Enum.md#talign) | Left |
**ClickEnd** | Click to the end | bool | false |
**Empty** | Drop down even if empty | bool | false |
||||
**Items** | Data [More Styles](../DropdownStyles.md) | object[] | [] |
**Items** | Data [More Styles](../DropdownStyles.md) | BaseCollection | - |
**SelectedValue** | Selected value | object`?` | `null` |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**SelectedValueChanged** | Occurred when the SelectedValue property value is changed | void | object? value |
**SelectedValueChanged** | Occurred when the SelectedValue property value is changed | void | object? value |
**ItemClick** | Occurs when an item is clicked | void | object? value `Clicked item` |

View File

@@ -11,9 +11,9 @@
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Target** | Belonging target | Target | `Required` |
**Form** 🔴 | Belonging window | Form | `Required` |
**Control** 🔴 | Belonging Control | Control`?` ||
**Font** | Font | Font`?` ||
**Form** | Belonging window | Form | `Required` |
**Control** | Belonging Control | Control`?` ||
**Font** | Font | Font`?` | `null` |
**Align** | Align | [TAlign](Enum.md#talign) | BR |
**Vertical** | Is it in the vertical direction | bool | true |
**TopMost** | Topped | bool | false |
@@ -31,21 +31,20 @@ Name | Description | Type | Default Value |
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Name** | Name | string | `null` |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Fore** | Text color | Color`?` | `null` |
**Enabled** | Enable | bool | true |
**Loading** | Loading | bool | false |
**LoadingValue** | Loading progress | float | 0.3F |
**Round** | Rounded corner style | bool | true |
**Type** | Type | [TTypeMini](Enum.md#ttypemini) | Default |
**Radius** | Rounded corners | int | 6 |
**Tag** | User defined data | object`?` | `null` |
||||
**Fore** | Text color | Color`?` | `null` |
**Icon** | Custom Icon | Image`?` | `null` |
**IconSvg** | Custom Icon SVG | string`?` | `null` |
**IconSize** | Icon size `Default automatic size` | Size`?` | `null` |
||||
**IconSize** | Icon size | Size`?` | `null` |
**Text** | Text and other content | string`?` | `null` |
🌏 **LocalizationText** | Internationalization (Text) | string`?` | `null` |
**Tooltip** | Tooltip | string`?` | `null` |
🌏 **LocalizationTooltip** | Internationalization (Tooltip) | string`?` | `null` |
**Type** | Set button type | [TTypeMini](Enum.md#ttypemini) | Default |
**Radius** | Rounded corners | int | 6 |
**Round** | Rounded corner style | bool | true |
**Badge** | Badge text | string`?` | `null` |
**BadgeSvg** | Badge SVG | string`?` | `null` |
**BadgeAlign** | Badge align | [TAlign](Enum.md#talign) | TR |
@@ -57,6 +56,4 @@ Name | Description | Type | Default Value |
**BadgeBack** | Badge background color | Color`?` | `null` |
**BadgeBorderColor** | Badge border color | Color`?` | `null` |
**BadgeBorderWidth** | Badge border width | float`?` | `null` |
||||
**Tooltip** | The content of bubbles | string`?` | `null` |
🌏 **LocalizationTooltip** | International tooltip | string`?` | `null` |
**Tag** | User defined data | object`?` | `null` |

View File

@@ -3,13 +3,15 @@
## FlowPanel
👚
> FlowPanel Flow Layout
- DefaultPropertyAlign
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**AutoScroll** | Display scrollbar or not | bool | false |
**Align** | Layout align | [TAlignFlow](Enum.md#talignflow) | LeftCenter |
**Gap** | Gap | int | 0 |
**PauseLayout** | Pause Layout | bool | false ||
**PauseLayout** | Pause Layout | bool | false |

View File

@@ -7,13 +7,13 @@
> `;` or `enter` to separate rows, `space` to separate columns, each row`:` custom row height before, such as 30:50% 50%
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Span** | Span | string | 50% 50%;50% 50% |
**Gap** | Gap | int | 0 |
**PauseLayout** | Pause Layout | bool | false ||
**PauseLayout** | Pause Layout | bool | false |
### ExtenderProvider

View File

@@ -8,38 +8,40 @@
- DefaultPropertyText
- DefaultEventLinkClicked
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Text** | Text content, support `<a href="...">...</a>` syntax | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**NormalStyle** | Normal state link style | LinkAppearance | `Default Style` |
**HoverStyle** | Hover state link style | LinkAppearance | `Default Style` |
**LinkPadding** | Distance between link and surrounding characters | int | 2 |
**LinkAutoNavigation** | Whether to automatically open links | bool | true |
**TextAlign** | Text alignment | ContentAlignment | TopLeft |
**Shadow** | Enable shadow effect | bool | false |
**ShadowSize** | Shadow size | int | 2 |
**ShadowColor** | Shadow color | Color | Color.FromArgb(255, 0, 0, 0) |
**ShadowOpacity** | Shadow opacity | float | 0.2F |
**ShadowOffset** | Shadow offset | Point | 1, 1 |
**TextAlign** | Text position | ContentAlignment | MiddleLeft |
**Shadow** | Shadow size | int | 0 |
**ShadowColor** | Shadow color | Color`?` | `null` |
**ShadowOpacity** | Shadow opacity | float | 0.3F |
**ShadowOffsetX** | Shadow offset X | int | 0 |
**ShadowOffsetY** | Shadow offset Y | int | 0 |
**NormalStyle** | Link style in normal state | LinkAppearance`?` | `null` |
**HoverStyle** | Link style when mouse hovers | LinkAppearance`?` | `null` |
**LinkPadding** | Distance between links and surrounding characters | Padding | 2, 0, 2, 0 |
**LinkAutoNavigation** | Automatically open hyperlinks with default browser | bool | false |
**AutoSize** | Auto size | bool | false |
**AutoSizeMode** | Auto size mode | [TAutoSize](Enum.md#tautosize) | None |
**ForeColor** | Text color | Color`?` | `null` |
### LinkAppearance Property
### LinkAppearance Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Color** | Link color | Color | Color.FromArgb(255, 10, 76, 178) |
**HoverColor** | Hover color | Color | Color.FromArgb(255, 79, 126, 194) |
**FontStyle** | Font style | FontStyle | FontStyle.Regular |
**Underline** | Underline | bool | true |
**HoverUnderline** | Hover underline | bool | true |
**LinkColor** | Link text color | Color`?` | `null` |
**LinkStyle** | Link font style | FontStyle | Regular |
**UnderlineColor** | Underline color | Color`?` | `null` |
**UnderlineThickness** | Underline thickness (0 for no underline) | int | 1 |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**LinkClicked** | Occurred when a link is clicked | void | string `href`, string `text` |
**LinkClicked** | Occurred when a link is clicked | void | LinkClickedEventArgs `e` |
### Example

View File

@@ -0,0 +1,80 @@
[Home](../Home.md)・[UpdateLog](../UpdateLog.md)・[Config](../Config.md)・[Theme](../Theme.md)
## Image3D
👚
> A control for displaying images with 3D transition animation effects.
- DefaultPropertyImage
- DefaultEventClick
### Properties
#### Appearance Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Back** | Background color | Color | Transparent |
**Radius** | Radius | int | 0 |
**Round** | Round style | bool | false |
**Image** | Image | Image`?` | `null` |
**ImageFit** | Image fit | [TFit](Enum.md#tfit) | Cover |
#### Animation Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Vertical** | Is vertical | bool | false |
**Speed** | Speed | int | 10 |
**Duration** | Duration(ms) | int | 400 |
#### Shadow Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Shadow** | Shadow size | int | 0 |
**ShadowColor** | Shadow color | Color`?` | `null` |
**ShadowOpacity** | Shadow opacity | float | 0.3F |
**ShadowOffsetX** | Shadow offset X | int | 0 |
**ShadowOffsetY** | Shadow offset Y | int | 0 |
#### Hover Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**EnableHover** | Enable hover interaction | bool | false |
**HoverFore** | Hover foreground | Color`?` | `null` |
**HoverBack** | Hover background | Color`?` | `null` |
**HoverImage** | Hover image | Image`?` | `null` |
**HoverImageSvg** | Hover image SVG | string`?` | `null` |
**HoverImageRatio** | Hover image ratio | float | 0.4F |
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**RunAnimation** | Run animation transition | void | Image`?` `Switch to new image` |
### Example
```csharp
// Basic usage
image3D1.Image = Image.FromFile("test.jpg");
// Switch image (with 3D animation)
image3D1.RunAnimation(Image.FromFile("new.jpg"));
// Configure animation
image3D1.Vertical = true; // Vertical animation
image3D1.Speed = 15; // Animation speed
image3D1.Duration = 600; // Animation duration
// Configure appearance
image3D1.Radius = 8; // Radius
image3D1.Shadow = 4; // Shadow size
// Configure hover effect
image3D1.EnableHover = true;
image3D1.HoverBack = Color.FromArgb(100, 0, 0, 0);
image3D1.HoverImageSvg = "<svg>...</svg>";
```

View File

@@ -8,13 +8,13 @@
- DefaultPropertySelectIndex
- DefaultEventSelectIndexChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Image** | Image item collection | ImagePreviewItemCollection | `New Collection` |
**SelectIndex** | Currently selected image index | int | 0 |
**Fit** | Image fit mode | [TFit](Enum.md#tfit) | Contain |
**Fit** | Image fit mode | [TFit](Enum.md#tfit) | `null` |
**ShowBtn** | Show buttons | bool | true |
**ShowDefaultBtn** | Show default buttons | bool | true |
**BtnSize** | Button size | Size | `42, 46` |
@@ -24,7 +24,7 @@ Name | Description | Type | Default Value |
**BtnPadding** | Button padding | Size | `12, 32` |
**CustomButton** | Custom button collection | ImagePreviewButtonCollection | `New Collection` |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -37,7 +37,7 @@ Name | Description | Return Value | Parameters |
**ZoomOut** | Zoom out image | void | |
**ZoomIn** | Zoom in image | void | |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -82,21 +82,21 @@ imagePreview1.Image.Add(new ImagePreviewItem().SetImage(Image.FromFile("img3.jpg
// Async loading
imagePreview1.Image.Add(new ImagePreviewItem().SetImage((index, item) => {
// Simulate async loading
Thread.Sleep(1000);
return Image.FromFile("async.jpg");
// Simulate async loading
Thread.Sleep(1000);
return Image.FromFile("async.jpg");
}));
// Async loading with progress
imagePreview1.Image.Add(new ImagePreviewItem().SetImage((index, item, progress) => {
// Simulate download progress
for (int i = 0; i <= 100; i += 10) {
Thread.Sleep(100);
// Update progress
progress(i / 100f, $"Loading {i}%");
}
// Loading complete
return Image.FromFile("prog.jpg");
// Simulate download progress
for (int i = 0; i <= 100; i += 10) {
Thread.Sleep(100);
// Update progress
progress(i / 100f, $"Loading {i}%");
}
// Loading complete
return Image.FromFile("prog.jpg");
}));
// Add custom button

View File

@@ -44,7 +44,7 @@ Name | Description | Type | Default Value |
**IsTextEmpty** | Is text empty | bool | true |
**TextTotalLine** | Total lines of text | int | 0 |
**ImeMode** | IME (Input Method Editor) Status | ImeMode | NoControl |
**EmojiFont** | EmojiFont | string | Segoe UI Emoj |
**EmojiFont** | EmojiFont | string`?` | `null` |
**AcceptsTab** | Does multi line editing allow the input of tab characters | bool | false |
**Multiline** | Multiline | bool | false |
**WordWrap** | Auto wrap | bool | true |
@@ -117,6 +117,11 @@ Name | Description | Return Value | Parameters |
**ClearStyle** | Clear style | void ||
**GetSelectionText** | Get the currently selected text | string? ||
**SelectedText** | Get or set the currently selected text | string? ||
**IndexOf** | Find the first occurrence of a specified string | int | string value `String to find` |
**IndexOf** | Find the first occurrence of a string starting from the specified position | int | string value `String to find`, int startIndex `Start search position` |
**LastIndexOf** | Find the last occurrence of a specified string | int | string value `String to find` |
**Substring** | Extract substring starting from the specified position | string | int startIndex `Start position` |
**Substring** | Extract substring of specified length starting from the specified position | string | int startIndex `Start position`, int length `Length to extract` |
||||
**AnimationBlink** | Start blinking animation | void | int interval `Animation interval (milliseconds)`, params Color[] colors `Color values` |
**AnimationBlinkTransition** | Start color transition blinking animation | void | int interval `Animation interval (milliseconds)`, params Color[] colors `Color values` |
@@ -142,62 +147,30 @@ Name | Description | Return Value | Parameters |
``` csharp
private void Input1_VerifyChar(object sender, AntdUI.InputVerifyCharEventArgs e)
{
NumberFormatInfo numberFormatInfo = CultureInfo.CurrentCulture.NumberFormat;
string decimalSeparator = numberFormatInfo.NumberDecimalSeparator,
groupSeparator = numberFormatInfo.NumberGroupSeparator, negativeSign = numberFormatInfo.NegativeSign;
string keyInput = e.Char.ToString();
if (char.IsDigit(e.Char))
{
e.Result = true; // Numbers can be
}
else if (keyInput.Equals(decimalSeparator) || keyInput.Equals(groupSeparator) || keyInput.Equals(negativeSign))
{
e.Result = true; // The decimal separator can be used
}
else if (e.Char == '\b')
{
e.Result = true; // The Backspace key can be used
}
else if (e.Char == '。')
{
e.ReplaceText = ".";
e.Result = true; // Replace Chinese period with English period
}
else
{
e.Result = false;
}
NumberFormatInfo numberFormatInfo = CultureInfo.CurrentCulture.NumberFormat;
string decimalSeparator = numberFormatInfo.NumberDecimalSeparator,
groupSeparator = numberFormatInfo.NumberGroupSeparator, negativeSign = numberFormatInfo.NegativeSign;
string keyInput = e.Char.ToString();
if (char.IsDigit(e.Char))
{
e.Result = true; // Numbers can be
}
else if (keyInput.Equals(decimalSeparator) || keyInput.Equals(groupSeparator) || keyInput.Equals(negativeSign))
{
e.Result = true; // The decimal separator can be used
}
else if (e.Char == '\b')
{
e.Result = true; // The Backspace key can be used
}
else if (e.Char == '。')
{
e.ReplaceText = ".";
e.Result = true; // Replace Chinese period with English period
}
else
{
e.Result = false;
}
}
```
***
## InputNumber
👚
> Enter a number within certain range with the mouse or keyboard. Inherited from [Input](#input)
- DefaultPropertyValue
- DefaultEventValueChanged
### Property
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Minimum** | Minimum value | decimal`?` | `null` |
**Maximum** | Maximum value | decimal`?` | `null` |
**Value** | Current value | decimal | 0 |
||||
**ShowControl** | Controller | bool | true |
**DecimalPlaces** | Number of decimal places displayed | int | 0 |
**ThousandsSeparator** | Do you want to display the thousand separator | bool | false |
**Hexadecimal** | Should values be displayed in hexadecimal format | bool | false |
**InterceptArrowKeys** | Does the arrow key continuously increase/decrease when pressed | bool | true |
**Increment** | The amount of increase/decrease each time the arrow key is clicked | decimal | 1 |
### Event
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ValueChanged** | Occurred when the value of the Value property is changed | void | decimal value |
```

View File

@@ -0,0 +1,33 @@
[Home](../Home.md)・[UpdateLog](../UpdateLog.md)・[Config](../Config.md)・[Theme](../Theme.md)
## InputNumber
👚
> Enter a number within certain range with the mouse or keyboard. Inherited from [Input](Input.md)
- DefaultPropertyValue
- DefaultEventValueChanged
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Minimum** | Minimum value | decimal`?` | `null` |
**Maximum** | Maximum value | decimal`?` | `null` |
**Value** | Current value | decimal | 0 |
||||
**ShowControl** | Show controller | bool | true |
**WheelModifyEnabled** | Mouse wheel modify value | bool | true |
**DecimalPlaces** | Number of decimal places displayed | int | 0 |
**ThousandsSeparator** | Whether to show thousands separator | bool | false |
**Hexadecimal** | Whether values should be displayed in hexadecimal | bool | false |
**InterceptArrowKeys** | Whether to continuously increase/decrease when arrow keys are pressed | bool | true |
**EnabledValueTextChange** | Whether to update Value when text changes | bool | false |
**Increment** | The amount to increase/decrease each time the arrow key is clicked | decimal | 1 |
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ValueChanged** | Occurred when the value of the Value property is changed | void | decimal value |
**ValueFormatter** | Format the numeric value for display | void | InputNumberEventArgs e |

View File

@@ -8,12 +8,13 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**AutoSize** | Auto Size | bool | false |
**AutoSizeMode** | Auto size mode | [TAutoSize](Enum.md#tautosize) | None |
**AutoSizePadding** | Auto size padding (only MiddleCenter) | bool | false |
||||
**ForeColor** | Text color | Color`?` | `null` |
**ColorExtend** | Text gradient color | string`?` | `null` |
@@ -25,6 +26,7 @@ Name | Description | Type | Default Value |
**TextMultiLine** | Multiple lines | bool | true |
||||
**IconRatio** | Icon Scale | float | 0.7F |
**IconGap** | Icon and text gap | int | 0 |
**Prefix** | Prefix text | string`?` | `null` |
🌏 **LocalizationPrefix** | International Prefix | string`?` | `null` |
**PrefixSvg** | Prefix SVG | string`?` | `null` |
@@ -35,7 +37,7 @@ Name | Description | Type | Default Value |
**SuffixColor** | Suffix color | Color`?` | `null` |
**Highlight** | Full display of tags | bool | true |
**ShowTooltip** | Exceeding text display Tooltip | bool | true |
**Rotate** 🔴 | Rotate | [TRotate](Enum.md#trotate) | None |
**Rotate** | Rotate | [TRotate](Enum.md#trotate) | None |
||||
**Shadow** | Shadow size | int | 0 |
**ShadowColor** | Shadow color | Color`?` | `null` |

View File

@@ -1,15 +1,16 @@
[Home](../Home.md)・[UpdateLog](../UpdateLog.md)・[Config](../Config.md)・[Theme](../Theme.md)
## LabelLed
👚
LED Text Control 👚
> LED Text Control
> Display a segment of LED style text.
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -17,7 +18,7 @@ Name | Description | Type | Default Value |
🌏 **LocalizationText** | International Text | string`?` | `null` |
|||
**FontSize** | Font size | int`?` | `null` |
**EmojiFont** | Emoji Font | string | `Segoe UI Emoji` |
**EmojiFont** | Emoji Font | string`?` | `null` |
|||
**DotSize** | Dot size | int | 4 |
**DotGap** | Dot distance | int | 2 |

View File

@@ -8,11 +8,10 @@
- DefaultPropertyShowTime
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**AutoWidth** 🔴 | Auto Width | bool | false |
||||
**ForeColor** | Text color | Color | |
**ShowTime** | Display seconds | bool | true |
**ShowTime** | Display seconds | bool | true |
**AutoWidth** | Auto Width | bool | false |
**DragMove** | Can drag position | bool | true |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyItems
- DefaultEventSelectChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -19,6 +19,7 @@ Name | Description | Type | Default Value |
||||
**Radius** | Rounded corners | int | 6 |
**Round** | Rounded corner style | bool | false |
**FocusMode** | Focus mode | [TFocusMode](Enum.md#tfocusmode) | None |
**Indent** | Tree like indentation | bool | false |
**ShowSubBack** | Display submenu background | bool | false |
**Unique** | Keep only one submenu expanded | bool | false |
@@ -32,7 +33,7 @@ Name | Description | Type | Default Value |
**MouseRightCtrl** | Mouse right control | bool | true |
**ScrollBarBlock** | Scroll bar block | bool | false |
||||
**Theme** | Color mode | [TAMode](Enum.md#tamode) | Auto |
**Theme** | Color mode (Obsolete, use ColorScheme) | [TAMode](Enum.md#tamode) | Auto |
**Mode** | Menu Type | [TMenuMode](Enum.md#tmenumode) | Inline |
**AutoCollapse** | Auto Collapse | bool | false |
**Collapsed** | Whether to fold or not | bool | false |
@@ -46,7 +47,7 @@ Name | Description | Type | Default Value |
**TooltipConfig** | Text overflow tooltip config | TooltipConfig`?` | `null` |
**PauseLayout** | Pause Layout | bool | false |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -55,7 +56,7 @@ Name | Description | Return Value | Parameters |
**SelectChanging** | Occurred before the Select attribute value changes | bool | [MenuItem](#menuitem) item |
**CustomButtonClick** | Occurred when custom button is clicked | void | MenuButton button, [MenuItem](#menuitem) item |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -8,28 +8,38 @@
> Configure Message
#### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**ID** | ID | string`?` | `null` |
**Form** | Belonging window | Form | `Required` |
**Target** | Target | Target | `Required` |
**Form** | Belonging window (Obsolete, use Target) | Control`?` | `null` |
**Text** | Text | string | `Required` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Icon** | Icon | [TType](Enum.md#ttype) | None |
**Font** | Font | Font | `null` |
**IconCustom** | Custom Icon | IconInfo`?` | `null` |
**Font** | Font | Font`?` | `null` |
**Radius** | Rounded corners | int | 6 |
**AutoClose** | Automatic shutdown time(s) `0 equals not closing` | int | 6 |
**ClickClose** | Can I click to close it | bool | true |
**TopMost** | Whether to top | bool | false |
**Align** | Align | [TAlignFrom](Enum.md#talignfrom) | Top |
**Padding** | Padding | Size | 12, 9 |
**ShowInWindow** | Pop up in the window | bool | false |
**Call** | Load callback | Action<Config>`?` | `null` |
**ShowInWindow** | Pop up in the window | bool`?` | `null` |
**EnableSound** | Whether to enable sound | bool | false |
**MaxWidth** | Max width | int`?` | `null` |
**Back** | Custom background color | Color`?` | `null` |
**Fore** | Custom foreground color | Color`?` | `null` |
**Call** | Load callback | object`?` | `null` |
#### Method
#### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**close_all** | Close all | void | |
**close_id** | Close specified ID | void | string id |
**contains** | Determine if the prompt ID exists in the queue | bool | string id, bool time_expand = false |
> Loading business method

View File

@@ -10,50 +10,49 @@
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Target** | Belonging target | object`?` | `null` |
**Target** | Belonging target | Target | `Required` |
**Form** | Belonging window | Form`?` | `Cannot use mask when empty` | `deprecated, use Target instead` |
**Title** | Title | string | `Required` |
**Title** | Title | string`?` | `null` |
**Content** | Control/Content | object | `Required` |
**ContentPadding** | Content padding | Size | 0, 0 |
**UseIconPadding** | Use icon padding | bool | true |
**Width** | Modal width | int | 416 |
**Font** | Font | Font`?` | `null` |
**Icon** | Icon | [TType](Enum.md#ttype) | None |
**Keyboard** | Does it support disabling keyboard ESC | bool | true |
**ColorScheme** | Color scheme | [TAMode](Enum.md#tamode) | Auto |
**Keyboard** | Does it support keyboard ESC | bool | true |
**Mask** | Display Mask | bool | true |
**MaskClosable** | Click whether to allow the mask to be closed | bool | true |
**CloseIcon** | Display close icon | bool | false |
**Tag** | User defined data | object`?` | `null` |
||||
**ContentPadding** | Content padding | Size | 24, 20 |
**UseIconPadding** | Use icon padding | bool | true |
**ColorScheme** | Color scheme | [TColorScheme](Enum.md#tcolorscheme) | Primary |
**ManualActivateParent** | Manually activate parent | bool | false |
**DefaultFocus** | Default focus | Control`?` | `null` |
**DefaultAcceptButton** | Default accept button | [Button](#button)`?` | `null` |
**EnableSound** | Enable sound | bool | true |
**Resizable** | Resizable | bool | false |
**MinimumSize** | Minimum size | Size | 300, 200 |
**MaximumSize** | Maximum size | Size | 1600, 900 |
**IconCustom** | Custom icon | Bitmap`?` | `null` |
||||
**BtnHeight** | Button bar height | int | 38 |
**CancelText** | Cancel button text | string | "Cancel" |
**CloseIcon** | Display close icon | bool | false |
**DefaultFocus** | Default focus | bool | false |
**DefaultAcceptButton** | Default accept button | bool | true |
**CancelFont** | Cancel button font | Font`?` | `null` |
**OkFont** | Confirm button font | Font`?` | `null` |
**BtnHeight** | Button bar height | int | 38 |
**Padding** | Padding | Size | 24, 20 |
**CancelText** | Cancel button text | string`?` | "Cancel" |
**OkText** | Confirm button text | string | "OK" |
**OkType** | Confirm button type | [TTypeMini](Enum.md#ttypemini) | Primary |
**OkFont** | Confirm button Font | Font`?` | `null` |
**Icon** | Icon | [TType](Enum.md#ttype) | None |
**IconCustom** | Custom icon | IconInfo`?` | `null` |
**OnOk** | Confirm callback | `Func<Config, bool>?` | `null` |
**OnCancel** | Cancel callback | `Func<Config, bool>?` | `null` |
**OnClose** | Close callback | Action<[TCloseType](Enum.md#tclosetype)> | `null` |
**OnMaskClick** | Mask click callback | Action | `null` |
||||
**Btns** | Custom button | [Btn[]](#modal.btn) | `null` |
**OnBtns** | Custom button callback | Action<[Button](#button)> | `null` |
**OnButtonStyle** | Custom button style callback | Action<string, [Button](Button)> | `null` |
||||
**Tag** | User defined data | object`?` | `null` |
**LoadingDisableCancel** | Disable the cancel button during loading | bool | false |
**Draggable** | Drag and drop window | bool | true |
**EnableSound** | Enable sound | bool | false |
**Btns** | Custom button | [Btn[]](#modal.btn) | `null` |
**OnBtns** | Custom button callback | `Func<Button, bool>?` | `null` |
**OnButtonStyle** | Custom button style callback | Action<string, Button>`?` | `null` |
**Resizable** | Resizable | bool | false |
**MinimumSize** | Minimum size | Size`?` | `null` |
**MaximumSize** | Maximum size | Size`?` | `null` |
#### Methods
Name | Description | Return Type | Parameters |
:--|:--|:--|:--|
**Close()** | Active close | void | |
**DialogResult** | Dialog result | [DialogResult](Enum.md#dialogresult) | None |
**DialogResult()** | Set dialog result | void | DialogResult result = DialogResult.OK |
### Modal.Btn
@@ -65,7 +64,8 @@ Name | Description | Type | Default Value |
**Text** | Button text | string | `Required` |
**Type** | Button type | [TTypeMini](Enum.md#ttypemini) | Default |
**Fore** | Text color | Color`?` | `null` |
**Back** | background color | Color`?` | `null` |
**Back** | Background color | Color`?` | `null` |
**DialogResult** | Dialog result | DialogResult | None |
**Tag** | User defined data | object`?` | `null` |
### Modal.TextLine
@@ -75,9 +75,10 @@ Name | Description | Type | Default Value |
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Text** | Text content | string | `Required` |
**Font** | Font | Font`?` | `null` |
**Gap** | Gap | int | 0 |
**Fore** | Text color | Color`?` | `null` |
**Alignment** | Text alignment | ContentAlignment | MiddleLeft |
**Font** | Font | Font`?` | `null` |
**Tag** | User defined data | object`?` | `null` |
***
@@ -86,15 +87,15 @@ Name | Description | Type | Default Value |
~~~csharp
public partial class UserControl1 : UserControl, AntdUI.ControlEvent
{
public void LoadCompleted()
{
System.Diagnostics.Debug.WriteLine("Load");
}
public void LoadCompleted()
{
System.Diagnostics.Debug.WriteLine("Load");
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
System.Diagnostics.Debug.WriteLine("Close");
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
System.Diagnostics.Debug.WriteLine("Close");
}
}
~~~

View File

@@ -12,45 +12,48 @@ Name | Description | Type | Default Value |
:--|:--|:--|:--|
**ID** | ID | string`?` | `null` |
**Target** | Belonging target | Target | `Required` |
**Form** | Belonging window (obsolete, use Target) | Form | `Required` |
**Icon** | Icon | [TType](Enum.md#ttype) | None |
**Font** | Font | Font`?` | `null` |
**Text** | Text | string | `Required` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
|||||
**Title** | Title | string | `Required` |
**Form** | Belonging window (obsolete, use Target) | Control`?` | `null` |
**Title** | Title | string`?` | `null` |
🌏 **LocalizationTitle** | International Title | string`?` | `null` |
**FontTitle** | Title font | Font`?` | `null` |
**FontStyleTitle** | Title font style | FontStyle`?` | `null` |
|||||
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Icon** | Icon | [TType](Enum.md#ttype) | None |
**IconCustom** | Custom icon | IconInfo`?` | `null` |
**Font** | Font | Font`?` | `null` |
**Align** | Align | [TAlignFrom](Enum.md#talignfrom) | TR |
**Radius** | Rounded corners | int | 10 |
**Align** | Align | [TAlignFrom](Enum.md#talignfrom) | Right |
**Padding** | Padding | Size | 24, 20 |
**AutoClose** | Automatic shutdown time(s) `0 equals not closing` | int | 6 |
**ClickClose** | Can I click to close it | bool | true |
**CloseIcon** | Display close icon | bool | true |
**TopMost** | Topped | bool | false |
**Tag** | User defined data | object`?` | `null` |
**Link** | Hyperlink | [Modal.ConfigLink](#modal.configlink)`?` | `null` |
**Link** | Hyperlink | IConfigControl`?` | `null` |
**Links** | Hyperlink combination | IConfigControl[]`?` | `null` |
**ShowInWindow** | Pop up in the window | bool | false |
**Padding** | Padding | Size | 24, 20 |
**ShowInWindow** | Pop up in the window | bool`?` | `null` |
**EnableSound** | Whether to enable sound | bool | false |
**Back** | Custom background color | Color`?` | `null` |
**Fore** | Custom foreground color | Color`?` | `null` |
**OnClose** | Close callback | Action`?` | `null` |
#### Method
#### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**close_all** | Close all | void | |
**close_id** | Close specified ID | void | string id |
**contains** | Determine if the notification ID exists in the queue | bool | string id, bool time_expand = false |
### Modal.ConfigLink
### Notification.ConfigLink
> Configure Hyperlink
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Text** | Button text | string | `Required` |
**Call** | Click on callback | Action | `Required` |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Fore** | Text color | Color`?` | `null` |
**Link** | Whether to display label | bool | true |
**Call** | Click on callback | Func<bool>`?` | `null` |
**Tag** | User defined data | object`?` | `null` |

View File

@@ -8,13 +8,15 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Mode** | Color mode | [TAMode](Enum.md#tamode) | Auto |
**Mode** | Color mode | [TAMode](Enum.md#tamode) | Auto | `obsolete, use ColorScheme` |
**Loading** | Loading State | bool | false |
**BackExtend** | Background gradient color | string`?` | `null` |
**UseSystemStyleColor** | Use system colors | bool | false |
**UseForeColorDrawIcons** | Use foreground color to draw button icons | bool | false |
||||
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
@@ -24,28 +26,27 @@ Name | Description | Type | Default Value |
🌏 **LocalizationDescription** | International Description text | string`?` | `null` |
**UseTitleFont** | Use title font size | bool | false |
**UseTextBold** | Title in bold | bool | true |
**UseSubCenter** 🔴 | Subtext centered | bool | false |
**UseLeftMargin** 🔴 | Use left margin | bool | true |
**SubFont** | Subtext font | Font`Font` | `null` |
**UseSubCenter** | Subtext centered | bool | false |
**UseLeftMargin** | Use left margin | bool | true |
**SubFont** | Subtext font | Font`?` | `null` |
||||
**Gap** | Gap | int`?` | `null` |
**SubGap** | Subtitle and title spacing | int | 6 |
||||
**ShowIcon** | Display icon or not | bool | false |
**Icon** | Icon | Image`?` | `null` |
**IconSvg** | Icon SVG | string | `null` |
**IconSvg** | Icon SVG | string`?` | `null` |
**IconRatio** | Icon Scale | float`?` | `null` |
||||
**ShowBack** | Whether to display the return button | bool | false |
**BackIcon** | Return icon | string`?` | `null` |
**ShowButton** | Display title bar button or not | bool | false |
**MaximizeBox** | Do you want to display the maximize button | bool | true |
**MinimizeBox** | Whether to display the minimize button | bool | true |
**FullBox** | Whether to display the full screen button | bool | false |
**DragMove** | Can I drag the position | bool | true |
**CloseSize** | Close button size | int | 48 |
**MDI** 🔴 | Is it only effective for the parent window | bool | false |
||||
**UseSystemStyleColor** | Use system colors | bool | false |
**MDI** | Is it only effective for the parent window | bool | false |
**CancelButton** | Click to exit and close | bool | false |
||||
**DividerShow** | Display the dividing line at the bottom | bool | false |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyCurrent
- DefaultEventValueChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -17,10 +17,13 @@ Name | Description | Type | Default Value |
**PageSize** | Number of data items per page | int | 10 |
**MaxPageTotal** | Maximum display total page count | int | 0 |
**PageTotal** | Total pages | int | 1 `Read only` |
**RecordsPerPageText** | Records per page text, label reminder text | string`?` | `null` |
||||
**ShowSizeChanger** | Do you want to display the `PageSize` switcher | bool | false |
**SizeChangerWidth** | `SizeChanger` Width | int | 0 `0 Auto Width` |
**PageSizeOptions** | Specify how many `dropdown selections` can be displayed per page | int[]? | null |
**DropDownRadius** | Dropdown rounded corners | int`?` | `null` |
**SizeChangerTabStop** | Whether to allow PageSize switcher to get focus via Tab key | bool | true |
||||
**Fill** | Colour | Color`?` | `null` |
||||

View File

@@ -8,12 +8,14 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Back** | Background color | Color`?` | `null` |
**BackExtend** | Background gradient color | string`?` | `null` |
**Radius** | Rounded corners | int | 6 |
**RadiusAlign** | Rounded corners direction | [TAlignRound](Enum.md#talignround) | ALL |
**ArrowAlign** | Arrow direction | [TAlign](Enum.md#talign) | None |
**ArrowSize** | Arrow size | int | 8 |
||||
@@ -32,4 +34,5 @@ Name | Description | Type | Default Value |
**ShadowOffsetX** | Shadow offset X | int | 0 |
**ShadowOffsetY** | Shadow offset Y | int | 0 |
**ShadowAlign** | Shadow direction | [TAlignMini](Enum.md#talignmini) | None |
**padding** | padding | Padding | 0, 0, 0, 0 |
**InnerPadding** | Inner padding | Padding | 0, 0, 0, 0 |
**padding** | padding | Padding | 0, 0, 0, 0 | `obsolete, use InnerPadding` |

View File

@@ -10,20 +10,27 @@
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Control** | Belonging Control | Form | `Required` |
**Title** | Title | string |`null`|
**Content** | Control/Content | object |`Required`|
**Font** | Font | Font |`null`|
**AutoClose** |Automatic shutdown time(s) `0 equals not closing` | int |0|
**Control** | Belonging Control | Control | `Required` |
**Title** | Title | string`?` | `null` |
**Content** | Control/Content | object | `Required` |
**Font** | Font | Font`?` | `null` |
**Back** | Background color | Color`?` | `null` |
**Fore** | Text color | Color`?` | `null` |
**ColorScheme** | Color scheme | [TAMode](Enum.md#tamode) | Auto |
**AutoClose** | Automatic shutdown time(s) `0 equals not closing` | int | 0 |
**Radius** | Rounded corners | int | 6 |
**Padding** | Padding | Size | 14, 12 |
**Gap** | Gap | int | 4 |
**ArrowAlign** | Arrow direction | [TAlign](Enum.md#talign) | Bottom |
**ArrowSize** | Arrow size | int | 8 |
**Offset** | Offset | Rectangle / RectangleF | `null` |
**CustomPoint** 🔴 | Custom Location | Rectangle`?` |`null`|
**Focus** 🔴 | Get Focus | bool | true |
**ArrowSize** | Arrow size | float | 8F |
**Offset** | Offset | Rectangle`?` | `null` |
**CustomPoint** | Custom Location | Rectangle`?` | `null` |
**Focus** | Get Focus | bool | true |
**Tag** | User defined data | object`?` | `null` |
**Dpi** | Dpi | float`?` | `null` |
||||
**OnControlLoad** | Callback after the control is displayed | `Action?` | `null` |
**OnClosing** | Callback before the control is closed | Action<object, CancelEventArgs>`?` | `null` |
### Popover.TextRow
@@ -46,11 +53,10 @@ Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Text** | Text | string | `Required` |
**Gap** | Gap `Left and right spacing` | int | 0 |
||||
**Fore** | Text color | Color`?` | `null` |
**Font** | Font | Font`?` | `null` |
||||
**Call** | Click on callback `Mouse clickable` | Action | `null` |
**Call** | Click on callback `Mouse clickable` | Action`?` | `null` |
**Tag** | User defined data | object`?` | `null` |
***
@@ -59,15 +65,15 @@ Name | Description | Type | Default Value |
~~~csharp
public partial class UserControl1 : UserControl, AntdUI.ControlEvent
{
public void LoadCompleted()
{
System.Diagnostics.Debug.WriteLine("Load");
}
public void LoadCompleted()
{
System.Diagnostics.Debug.WriteLine("Load");
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
System.Diagnostics.Debug.WriteLine("Close");
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
System.Diagnostics.Debug.WriteLine("Close");
}
}
~~~

View File

@@ -8,7 +8,7 @@
- DefaultPropertyValue
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -33,14 +33,21 @@ Name | Description | Type | Default Value |
**Value** | Progress bar `0F-1F` | float | 0F |
**Loading** | Loading State | bool | false |
**LoadingFull** | Animated Full | bool | false |
**Loading** | Loading State | bool | false |
**Animation** | Animation duration | int | 200 |
**UseTextCenter** | Center text display | bool | false |
||||
**Steps** | Total number of steps in the progress bar | int | 3 |
**StepSize** | Step size | int | 14 |
**StepGap** | Step gap | int | 2 |
||||
**IconCircle** | Icon under circular progress | Image`?` | `null` |
**IconSvgCircle** | Icon SVG under circular progress | string`?` | `null` |
**IconCircleAngle** | Whether the circular icon rotates | bool | false |
**IconCirclePadding** | Circular icon margin | int | 8 |
**IconCircleColor** | Circular icon color | Color`?` | `null` |
**ContainerControl** | Window object | ContainerControl`?` | `null` |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -8,24 +8,24 @@
- DefaultPropertyChecked
- DefaultEventCheckedChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**AutoSize** | Auto Size | bool | false |
**AutoSizeMode** | Auto size mode | [TAutoSize](Enum.md#tautosize) | None |
||||
|||
**ForeColor** | Text color | Color`?` | `null` |
**Fill** | Fill color | Color`?` | `null` |
||||
|||
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**TextAlign** | Text position | ContentAlignment | MiddleLeft |
**Checked** | Checked state | bool | false |
**AutoCheck** | Click to automatically change the selected status | bool | true |
**UseMnemonic** | Support mnemonic key | bool | true |
**HasFocus** | Focus state | bool | false |
||||
**HasFocus** | Focus state | bool | false | `Read only` |
|||
**RightToLeft** | Reverse | RightToLeft | No |
### Event

View File

@@ -8,23 +8,23 @@
- DefaultPropertyValue
- DefaultEventValueChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**AutoSize** | Auto Width | bool | false |
||||
|||
**Fill** | colour | Color | 250, 219, 20 |
||||
|||
**AllowClear** | Support clearing | bool | false |
**AllowHalf** | Is half selection allowed | bool | false |
**Count** | Star total | int | 5 |
**Value** | Current value | float | 0F |
||||
|||
**Tooltips** | Customize the prompt information for each item | string[]`?` | `null` |
**Character** | Custom Characters SVG | string`?` | `null` |
🌏 **LocalizationCharacter** | Internationalized Custom characters | string`?` | `null` |
**TooltipConfig** | Text tooltip configuration | [TTooltipConfig](Enum.md#ttipconfig) | `null` |
**TooltipConfig** | Text tooltip configuration | TooltipConfig`?` | `null` |
### Event

View File

@@ -8,7 +8,7 @@
- DefaultPropertyItems
- DefaultEventSelectIndexChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -19,35 +19,47 @@ Name | Description | Type | Default Value |
**Full** | Is it fully covered | bool | false |
**Radius** | Rounded corners | int | 6 |
**Round** | Rounded corner style | bool | false |
||||
|||
**ForeColor** | Text color | Color`?` | `null` |
**ForeHover** | Hover text color | Color`?` | `null` |
**ForeActive** | Activate text color | Color`?` | `null` |
**BackColor** | Background color | Color`?` | `null` |
**BackHover** | Hover background color | Color`?` | `null` |
**BackActive** | Activate background color | Color`?` | `null` |
||||
|||
**Gap** | Gap | int | 0 |
**ItemGap** | Item gap | float | 0.6F |
**Vertical** | Is it vertical | bool | false |
**IconAlign** | Icon alignment direction | [TAlignMini](Enum.md#talignmini) | Top |
**IconRatio** | Icon Scale | float`?` | `null` |
**IconGap** | Ratio of icon to text spacing | float | 0.2F |
||||
|||
**BarPosition** | Bar position | [TAlignMini](Enum.md#talignmini) | None |
**BarBg** | Show bar background | bool | false |
**BarColor** | Bar background color | Color`?` | `null` |
**BarSize** | Bar size | float | 3F |
**BarPadding** | Bar padding | int | 0 |
**BarRadius** | Bar rounded corners | int | 0 |
||||
**Items** | Set `SegmentedItem[]` | [SegmentedItem[]](#segmenteditem) | [] |
**SelectIndex** | Select Index | int | 0 |
||||
|||
**BorderWidth** | Border width | float | 0F |
**BorderColor** | Border color | Color`?` | `null` |
**ItemBorderWidth** | Item border width | float | 0F |
**ItemBorderColor** | Item border color | Color`?` | `null` |
|||
**RightToLeft** | Reverse | RightToLeft | No |
**TooltipConfig** | Text prompt configuration | TooltipConfig`?` | `null` |
|||
**Items** | Set `SegmentedItemCollection` | SegmentedItemCollection | `null` |
**SelectIndex** | Select Index | int | -1 |
|||
**PauseLayout** | Pause Layout | bool | false |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**SelectIndexChanged** | Occurred when the SelectIndex property value is changed | void | int index |
**SelectIndexChanging** | Occurred before the SelectIndex property value is changed | bool | int index |
**ItemClick** | Occurrence upon item click | void | MouseEventArgs e, SegmentedItem value |
### Data

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventSelectedIndexChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -19,21 +19,30 @@ Name | Description | Type | Default Value |
**DropDownRadius** | Pull down rounded corner | int`?` | `null` |
**DropDownArrow** | Is the dropdown arrow displayed | bool | false |
**DropDownPadding** | Pull down margin | Size | 12, 5 |
**DropDownTextAlign** | Dropdown text alignment | [TAlign](Enum.md#talign) | Left |
**ClickEnd** | Click to the end `No nodes to click` | bool | false |
**ClickSwitchDropdown** | Click to switch dropdown menu | bool | true |
**CloseIcon** | Display close icon | bool | false |
||||
**Items** | Data [More Styles](../DropdownStyles.md) | BaseCollection | [] |
**Empty** | Empty still dropdown | bool | false |
**AutoPrefixSvg** | Auto set dropdown prefix | bool | false |
**AutoText** | Auto set text | bool | true |
**WheelModifyEnabled** | Mouse wheel modify value | bool | true |
**DropDownEmptyClose** | Dropdown empty close | bool | false |
**EnterDropDown** | Allow enter key to trigger dropdown | bool | true |
**ShowIcon** | Show icon | bool | true |
|||
**Items** | Data [More Styles](../DropdownStyles.md) | BaseCollection | `null` |
**SelectedIndex** | Select Index | int | -1 |
**SelectedValue** | Select Value | object`?` | `null` |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**SelectedIndexChanged** | Occurred when the SelectedIndex property value is changed | void | int index |
**SelectedIndexsChanged** | Occurred when changing the multi-layer tree structure | void | int x `Column`, int y `Row` |
**SelectedValueChanged** | Occurred when the SelectedValue property value is changed | void | object? value |
**ExpandDropChanged** | Occurred when the ExpandDrop property value is changed | void | bool value |
**FilterChanged** | Control filter Text changes that occur | IList<object>`?` | string value `Search For` |
**ClosedItem** | Occurred when closing a certain item | void | object? value |

View File

@@ -8,28 +8,28 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**AutoSize** | Auto Size | bool | false |
**AutoSizeMode** | Auto size mode | [TAutoSize](Enum.md#tautosize) | None |
||||
|||
**Radius** | Rounded corners | int | 6 |
||||
|||
**Text** | Text | string | `AntdUI` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Fore** | Text color on the right side | Color`?` | `null` |
**Color** | Background color on the right side | Color`?` | `null` |
||||
|||
**Logo** | Logo | Image`?` | `null` |
**LogoSvg** | Logo SVG | string`?` | `null` |
||||
|||
**Label** | Left text | string`?` | `null` |
🌏 **LocalizationLabel** | International Left text | string`?` | `null` |
**LabelFore** | Text color on the left side | Color`?` | `null` |
**LabelColor** | Background color on the left side | Color`?` | `null` |
**Bold** | Bold text on the left | bool | false |
||||
|||
**ShadowOffsetX** | Shadow OffsetX | int | 0 |
**ShadowOffsetY** | Shadow OffsetY | int | 0 |

View File

@@ -8,15 +8,15 @@
- DefaultPropertyValue
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Value** | Signal strength | int | 0 `0-5` |
||||
|||
**StyleLine** | Enable line style | bool | false |
**Loading** 🔴 | Loading State | bool | false |
||||
**Loading** | Loading State | bool | false |
|||
**Fill** | Fill color | Color`?` | `null` |
**FillFully** | Full grid color | Color`?` | `null` |
**FillWarn** | Warning color | Color`?` | `null` |

View File

@@ -8,14 +8,14 @@
- DefaultPropertyValue
- DefaultEventValueChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Fill** | Colour | Color`?` | `null` |
**FillHover** | Hover color | Color`?` | `null` |
**FillActive** | Activate color | Color`?` | `null` |
**TrackColor** 🔴 | Slide color | Color`?` | `null` |
**TrackColor** | Slide color | Color`?` | `null` |
||||
**MinValue** | Minimum value | int | 0 |
**MaxValue** | Maximum value | int | 100 |
@@ -28,10 +28,10 @@ Name | Description | Type | Default Value |
**DotSizeActive** | Click to activate size | int | 12 |
||||
**Dots** | Can only be dragged onto the scale | bool | false |
**Marks** | Tick marks `SliderMarkItem[]` | [SliderMarkItem[]](#slidermarkitem) | [] |
**Marks** | Tick marks `SliderMarkItemCollection` | SliderMarkItemCollection | `null` |
**MarkTextGap** | Scale text spacing | int | 4 |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -48,28 +48,4 @@ Name | Description | Type | Default Value |
**Value** | Value | int | 0 |
**Fore** | Text color | Color`?` | `null` |
**Text** | Text | string`?` | `null` |
**Tag** | User defined data | object`?` | `null` |
***
## SliderRange
👚
> A Slider component for displaying current value and intervals in range. Inherited from [Slider](Slider)
- DefaultPropertyValue
- DefaultEventValueChanged
### Property
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Value2** | Value2 | int | 10 |
### Event
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**Value2Changed** | Occurred when the value of the Value2 property is changed | void | int value2 |
**Tag** | User defined data | object`?` | `null` |

View File

@@ -0,0 +1,21 @@
[Home](../Home.md)・[UpdateLog](../UpdateLog.md)・[Config](../Config.md)・[Theme](../Theme.md)
## SliderRange
👚
> A Slider component for displaying current value and intervals in range. Inherited from [Slider](Slider.md)
- DefaultPropertyValue
- DefaultEventValueChanged
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Value2** | Value2 | int | 10 |
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**Value2Changed** | Occurred when the value of the Value2 property is changed | void | int value2 |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -16,8 +16,10 @@ Name | Description | Type | Default Value |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Fill** | Colour | Color`?` | `null` |
**ForeColor** | Text color | Color`?` | `null` |
**Indicator** | Loading indicator | Image`?` | `null` |
**IndicatorSvg** | Loading indicator SVG | string`?` | `null` |
### Method
### Methods
> All `IControl` that inherit FHIR trol support the `Spin` method
@@ -39,6 +41,9 @@ Name | Description | Type | Default Value |
**Radius** | Rounded corners | int`?` | `null` |
**Font** | Font | Font`?` | `null` |
**Value** | Progress | float`?` | `null` |
**Rate** | Progress rate | float`?` | `null` |
**Indicator** | Loading indicator | Image`?` | `null` |
**IndicatorSvg** | Loading indicator SVG | string`?` | `null` |
***
@@ -46,19 +51,19 @@ Name | Description | Type | Default Value |
```csharp
panel1.Spin(config => {
// Time consuming code
sleep(1000);
// Time consuming code
sleep(1000);
},()=>{
//Loading completed
//Loading completed
});
```
```csharp
AntdUI.Spin.open(panel1, config => {
// Time consuming code
sleep(1000);
// Time consuming code
sleep(1000);
},()=>{
//Loading completed
//Loading completed
});
```

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventSplitterMoved
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -17,6 +17,7 @@ Name | Description | Type | Default Value |
**ArrowColor** | Arrow Color | Color`?` | `null` |
**ArrawColorHover** | Arrow hover color | Color`?` | `null` |
**ArrawBackColor** | Arrow background color | Color`?` | `null` |
**ArrawBackHover** | Mouse hover arrow background color | Color`?` | `null` |
||||
**SplitterWidth** | Thickness of the splitter | int | 4 |
**SplitterSize** | Slide size | int | 20 |
@@ -29,14 +30,14 @@ Name | Description | Type | Default Value |
**SplitPanelState** | Current folding state | bool | true |
**Lazy** | Delayed rendering | bool | true |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**Collapse** | Collapse | void | |
**Expand** | Expand | void | |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -5,12 +5,13 @@
- DefaultPropertyVertical
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**AutoScroll** | Display scrollbar or not | bool | false |
**Vertical** | Is it in the vertical direction | bool | false |
**RightToLeft** | Reverse | RightToLeft | No |
**ItemSize** | Content size | string`?` | `null` |
**Gap** | Gap | int | 0 |
**PauseLayout** | Pause Layout | bool | false ||
**PauseLayout** | Pause Layout | bool | false |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyCurrent
- DefaultEventItemClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -18,11 +18,18 @@ Name | Description | Type | Default Value |
**Status** | The status of the current step | [TStepState](Enum.md#tstepstate) | Process |
**Vertical** | Vertical direction | bool | false |
**Gap** | Gap | int | 8 |
**Items** | Data `StepsItem[]` | [StepsItem[]](#stepsitem) | [] |
||||
**Items** | Data `StepsItemCollection` | StepsItemCollection | `null` |
|||
**MilestoneMode** | New milestone mode | bool | false |
**MilestoneAnimation** | Whether to display animation in milestone mode | bool | true |
**MilestoneType** | Display type of milestone time point | [TMilestoneType](Enum.md#tmilestonetype) | Day |
**MilestoneCurrentCompleted** | Current milestone completed | bool | false |
**MilestoneTimeFormat** | Milestone time point display format | string`?` | `null` |
**MilestoneTimelineThickness** | Display thickness of milestone timeline | int | 16 |
|||
**PauseLayout** | Pause Layout | bool | false |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -47,4 +54,7 @@ Name | Description | Type | Default Value |
🌏 **LocalizationSubTitle** | International Subtitle | string`?` | `null` |
**Description** | Description | string`?` | `null` |
🌏 **LocalizationDescription** | International Description | string`?` | `null` |
**MilestoneTimePoint** | Milestone time point | DateTime`?` | `null` |
**BackColor** | Timeline background color | Color`?` | `null` |
**ForeColor** | Timeline foreground color | Color`?` | `null` |
**Tag** | User defined data | object`?` | `null` |

View File

@@ -26,7 +26,7 @@ Name | Description | Type | Default Value |
**WaveSize** | Wave size `Click animation` | int | 4 |
**Gap** | Distance between button and border | int | 2 |
||||
**Loading** 🔴 | Loading | bool | false |
**Loading** | Loading | bool | false |
### Event

View File

@@ -8,7 +8,7 @@
- DefaultPropertySelectedIndex
- DefaultEventTabChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -26,26 +26,43 @@ Name | Description | Type | Default Value |
||||
**TabIconRatio** | Icon ratio | float | 1.34F |
**TabCloseRatio** | Close button ratio | float | 1.408F |
**TabCloseIconRatio** | Turn off icon proportion | float | 0.74F |
**TabCloseIconRatio** | Close icon ratio | float | 0.74F |
**TabGapRatio** | Margin ratio | float | 0.6F |
**TabIconGapRatio** | Ratio of icon to text spacing | float | 0.74F |
**TabAddIconRatio** | Proportion of newly added button icons | float | 1.18F |
**TabAddIconRatio** | New button icon ratio | float | 1.18F |
**TabAddGapRatio** | Add button margin ratio | float | 0.148F |
**LeftGap** | Left margin | int | 0 |
**RightGap** | Right margin | int | 0 |
||||
**DragSort** | Drag and drop sorting | bool | false |
**ShowAdd** | Display Add | bool | false |
**ShowAdd** | Whether to show add | bool | false |
**AddIconSvg** | New button Svg icon (default PlusOutlined) | string`?` | `null` |
||||
**Items** | Data `TagTabItem[]` | [TagTabItem[]](#tagtabitem) | [] |
**SelectedIndex** | Select Index | int | 0 |
**Items** | Data `TagTabItem[]` | [TagTabItem](#tagtabitem) | [] |
**SelectedIndex** | Selected index | int | 0 |
**SelectedItem** | Selected item | [TagTabItem](#tagtabitem)`?` | `null` |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**AddClick** | Occurred when clicking the add button | void ||
**TabChanged** | Occurred when the SelectedIndex property value is changed | void | [TagTabItem](#tagtabitem) Value, int Index |
**TabSelectedItemChanged** | Item selected event | void | [TagTabItem](#tagtabitem) Value, int Index |
**TabClosing** | Occurred before Tab closes | void | [TagTabItem](#tagtabitem) Value, int Index |
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**AddTab** | Add tab | void | [TagTabItem](#tagtabitem) item, bool select `Whether to select` |
**AddTab** | Add tab | void | string text, Image`?` icon |
**AddTab** | Add tab | void | string text, string`?` iconsvg |
**InsertTab** | Insert tab | void | int index, [TagTabItem](#tagtabitem) item, bool select `Whether to select` |
**InsertTab** | Insert tab | void | int index, string text, Image`?` icon |
**RemoveTab** | Remove tab | void | int index |
**Select** | Select tab | void | [TagTabItem](#tagtabitem) item |
**HitTest** | Hit test | [TagTabItem](#tagtabitem)`?` | int x, int y, out int i |
### Data
@@ -55,10 +72,20 @@ Name | Description | Type | Default Value |
:--|:--|:--|:--|
**ID** | ID | string`?` | `null` |
**Icon** | Icon | Image`?` | `null` |
**IconSvg** | Icon SVG | string | `null` |
**IconSvg** | Icon SVG | string`?` | `null` |
**Text** | Text | string | `Required` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Visible** | Is it displayed | bool | true |
**Enabled** | Enable | bool | true |
**Loading** | Loading | bool | false |
**Tag** | User defined data | object`?` | `null` |
**Visible** | Whether to display | bool | true |
**Enabled** | Enabled state | bool | true |
**Loading** | Loading state | bool | false |
**ShowClose** | Whether to show close | bool | true |
**Tag** | User defined data | object`?` | `null` |
||||
**Badge** | Badge content | string`?` | `null` |
**BadgeSvg** | Badge SVG | string`?` | `null` |
**BadgeAlign** | Badge alignment | [TAlign](Enum.md#talign) | Right |
**BadgeSize** | Badge size ratio | float | 0.6F |
**BadgeMode** | Badge mode (hollow) | bool | false |
**BadgeFore** | Badge foreground color | Color`?` | `null` |
**BadgeBack** | Badge background color | Color`?` | `null` |
**BadgeBorderColor** | Badge border color | Color`?` | `null` |

View File

@@ -5,10 +5,10 @@
> A table displays rows of data.
- DefaultPropertyText
- DefaultPropertyColumns
- DefaultEventCellClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -42,10 +42,20 @@ Name | Description | Type | Default Value |
**ClipboardCopy** | Copy rows | bool | true |
**ClipboardCopyFocusedCell** | Whether to enable cell copying | bool | false |
**EditMode** | Edit mode | [TEditMode](Enum.md#teditmode) | None |
**EditSelection** | Default text selection action in edit mode | [TEditSelection](Enum.md#teditselection) | None |
**EditInputStyle** | Edit mode input box style | [TEditInputStyle](Enum.md#teditinputstyle) | Default |
**EditAutoHeight** | Edit mode auto height | bool | false |
**EditLostFocus** | Lose focus to exit edit mode | bool | true |
**ShowTip** | Omit text prompts | bool | true |
**HandShortcutKeys** | Process shortcut keys | bool | true |
||||
**DefaultExpand** | Whether to expand by default `Tree` | bool | false |
**TreeArrowStyle** | Tree table arrow style | TableTreeStyle | Button |
**FilterRealTime** | Filter real-time effect | bool | false |
**AnimationTime** | Animation duration (ms) | int | 100 |
**SummaryCustomize** | Whether to enable built-in summary customization | bool | false |
**PauseLayout** | Pause layout | bool | false |
**TooltipConfig** | Omitted text prompt configuration | TooltipConfig`?` | `null` |
||||
**Empty** | Display empty style or not | bool | true |
**EmptyText** | Display text when data is empty | string | No data |
@@ -77,24 +87,40 @@ Name | Description | Type | Default Value |
**DataSource** | Data | [object](TableCell.md#icell)`?` | `Support DataTable, Class, etc` |
**Summary** | Summary column | object`?` | `null` |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ScrollLine** | Scroll to the specified line | void | int i |
**CopyData** | Copy table data | void |int row|
**CopyData** | Copy table data | void |int row, int column |
**EnterEditMode** | Enter editing mode | void |int row, int column |
**ScrollLine** | Scroll to the specified line | int | int i, bool force `Force scrolling` |
**ScrollLine** | Scroll to the specified line | int | object record, bool force `Force scrolling` |
**ScrollColumn** | Scroll to the specified column | int | int i, bool force `Force scrolling` |
**ScrollColumn** | Scroll to the specified column | int | string column, bool force `Force scrolling` |
**ScrollColumn** | Scroll to the specified column | int | Column column, bool force `Force scrolling` |
**ScrollToEnd** | Scroll to the bottom | void ||
**CopyData** | Copy table data | bool | int row |
**CopyData** | Copy table data | bool | int[] row |
**CopyData** | Copy table data | bool | int row, int column |
**CopyData** | Copy table data | bool | CELL cell |
**EnterEditMode** | Enter editing mode | void | int row, int column |
**SortIndex** | Get sorting sequence number | int[] ||
**SortList** | Get sorted data | object[] ||
**SortColumnsIndex** | Obtain the sorting sequence number of the header | int[] ||
**SortList** | Get sorted data | object[] ||
**ScrollLine** | Scroll to the specified line | void | int i,bool force `Force scrolling` |
**GetRowEnable** | Obtain the ability to exercise | bool | int i |
**SetRowEnable** | Set exercise capability | void | int i, bool value, bool ui `Refresh UI` |
**SortColumnsList** | Get header sort data | Column[] ||
**SetSortIndex** | Set sort index | void | int[] data |
**SetSortList** | Set sort list | void | object[] data |
**SetSortColumnsIndex** | Set header sort index | void | int[] data |
**GetRow** | Get the specified row data | IRow`?` | int index |
**GetRowEnable** | Get row enable | bool | int i |
**GetRowEnable** | Get row enable | bool | object record |
**SetRowEnable** | Set row enable | void | int i, bool value, bool ui `Refresh UI` |
**SetRowEnable** | Set row enable | void | object record, bool value, bool ui `Refresh UI` |
**SetSelected** | Set selected row | void | object record, bool expand `Whether to expand` |
**SelectedIndexsReal** | Get selected real rows | int[] ||
**SelectedsReal** | Get selected real row data | object[] ||
**ToDataTable** | Export table data | DataTable`?` ||
**LoadLayout** | Refresh Layout | void ||
**LoadLayout** | Refresh Layout | bool ||
**Refresh** | Refresh UI | void ||
**Refresh** | Refresh UI | void | AntList<T> list |
||||
**ExpandAll** | Expand all | void ||
**Expand** | Unfold or fold | void | object record `Row metadata`, bool value `fold` |
@@ -104,7 +130,7 @@ Name | Description | Return Value | Parameters |
**ContainsMergedRegion** | Determine whether the merged cells exist | bool | CellRange range |
**ClearMergedRegion** | Clear all merged cells | void ||
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -113,7 +139,7 @@ Name | Description | Return Value | Parameters |
**CellClick** | Appears when clicking on a cell | void | MouseEventArgs args, object? record, int rowIndex, int columnIndex, Rectangle rect |
**CellDoubleClick** | Occurred when double clicking a cell | void | MouseEventArgs args, object? record, int rowIndex, int columnIndex, Rectangle rect |
**CellButtonClick** | Appears when the button is clicked | void | CellLink btn, MouseEventArgs args, object? record, int rowIndex, int columnIndex |
**CellFocused** | Occurs when a cell gains focus | void | object? record, int rowIndex, int columnIndex |
**CellFocused** | Occurs when a cell gains focus | void | object? record, RowType type, int rowIndex, int columnIndex, Column column, Rectangle rect |
||||
**CellBeginEdit** | Occurred before editing | bool `Return true to continue editing` | object? value, object? record, int rowIndex, int columnIndex |
**CellBeginEditInputStyle** | Text box style before editing occurs | void | object? value, object? record, int rowIndex, int columnIndex, ref Input input |
@@ -122,20 +148,22 @@ Name | Description | Return Value | Parameters |
**SetRowStyle** | Set row style | [CellStyleInfo?](#cellstyleinfo) | object? record, int rowIndex |
**SortRows** | Occurred during row sorting | void | int columnIndex |
**FilterChanged** | Occurs when filter conditions change | void | Column column |
**SummaryCustomizeChanged** | Occurred when summary customize changed | void | bool value |
**SelectIndexChanged** | Occurred when selected index changed | void | |
> Alternating background colors
```csharp
private AntdUI.Table.CellStyleInfo? table1_SetRowStyle(object sender, AntdUI.TableSetRowStyleEventArgs e)
{
if (e.Index % 2 == 0)
{
return new AntdUI.Table.CellStyleInfo
{
BackColor = Color.WhiteSmoke
};
}
return null;
if (e.Index % 2 == 0)
{
return new AntdUI.Table.CellStyleInfo
{
BackColor = Color.WhiteSmoke
};
}
return null;
}
```

View File

@@ -5,21 +5,21 @@
> Tabs make it easy to explore and switch between different views.
- DefaultPropertyTabPages
- DefaultPropertyPages
- DefaultEventSelectedIndexChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**ForeColor** | Text color | Color`?` | `null` |
||||
**Fill** | Colour | Color`?` | `null` |
**Fill** | Color | Color`?` | `null` |
**FillHover** | Hover color | Color`?` | `null` |
**FillActive** | Activate color | Color`?` | `null` |
**FillActive** | Active color | Color`?` | `null` |
||||
**Alignment** | Alignment | TabAlignment |Top|
**Centered** | Centered display of tags | bool | false |
**Alignment** | Alignment | TabAlignment | Top |
**Centered** | Centered display of tabs | bool | false |
**TextCenter** | Text centered alignment (only effective in Left/Right direction) | bool | false |
||||
**TypExceed** | Exceeding UI type | [TabTypExceed](Enum.md#tabtypexceed) | Button |
@@ -28,10 +28,10 @@ Name | Description | Type | Default Value |
**ScrollBack** | Scroll bar color | Color`?` | `null` |
**ScrollBackHover** | Scroll bar hover color | Color`?` | `null` |
**ScrollFore** | Scroll bar text color | Color`?` | `null` |
**ScrollForeHover** | Scroll bar hovering text color | Color`?` | `null` |
**ScrollForeHover** | Scroll bar hover text color | Color`?` | `null` |
||||
**Gap** | Gap | int | 8 |
**IconRatio** | Icon Scale | float | 0.7F |
**IconRatio** | Icon ratio | float | 0.7F |
**IconGap** | Icon to text spacing ratio | float | 0.25F |
**ItemSize** | Custom item size | int? | `null` |
||||
@@ -40,21 +40,22 @@ Name | Description | Type | Default Value |
**Rotate** | Rotate (used for vertical display in Left/Right) | [TRotate](Enum.md#trotate) | None |
**DragOrder** | Drag order | bool | false |
||||
**TabMenuVisible** | Whether to display the head | bool | true |
**TabMenuVisible** | Whether to display the header | bool | true |
||||
**Pages** | Set `TabCollection` | [TabCollection](#tabpage) | [] |
**SelectedIndex** | Select Index | int | 0 |
**SelectedTab** | Current item | [TabPage](#tabpage)`?` |`null`|
**Pages** | Collection `TabCollection` | [TabCollection](#tabpage) | [] |
**SelectedIndex** | Selected index | int | 0 |
**SelectedTab** | Current item | [TabPage](#tabpage)`?` | `null` |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**SelectTab** | Selected items | void | string tabPageName |
**SelectTab** | Selected items | void | [TabPage](#tabpage) tabPage |
**SelectTab** | Selected items | void | int index |
**SelectTab** | Select tab | void | string tabPageName |
**SelectTab** | Select tab | void | [TabPage](#tabpage) tabPage |
**SelectTab** | Select tab | void | int index |
**ContainsTabPage** | Check if mouse is on tab | [TabPage](#tabpage)`?` | int x, int y |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -23,7 +23,7 @@ Name | Description | Type | Default Value |
**BackgroundImage** | Background image | Image`?` | `null` |
**BackgroundImageLayout** | Background image layout | [TFit](Enum.md#tfit) | Fill |
||||
**BorderWidth** | Border width | float | 0F |
**BorderWidth** | Border width | float | 1F |
||||
**Radius** | Rounded corners | int | 6 |
**Type** | Type | [TTypeMini](Enum.md#ttypemini) | Default |
@@ -39,7 +39,7 @@ Name | Description | Type | Default Value |
**ImageSvg** | Image SVG | string`?` | `null` |
**ImageSize** | Image size `Default automatic size` | Size | 0 × 0 |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -8,7 +8,7 @@
- DefaultPropertyValue
- DefaultEventValueChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -20,10 +20,13 @@ Name | Description | Type | Default Value |
**DropDownArrow** | Is the dropdown arrow displayed | bool | false |
**ShowIcon** | Display icon or not | bool | true |
**ValueTimeHorizontal** | Horizontal alignment of time item | bool | false |
**ShowButtonNow** | Show now button | bool | true |
**EnabledValueTextChange** | Whether to update Value when text changes | bool | false |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**ValueChanged** | Occurred when the value of the Value property is changed | void | TimeSpan value |
**ValueChanged** | Occurred when the value of the Value property is changed | void | TimeSpan value |
**ExpandDropChanged** | Occurred when the value of the ExpandDrop property is changed | void | bool value |

View File

@@ -8,7 +8,7 @@
- DefaultPropertyItems
- DefaultEventItemClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -20,7 +20,7 @@ Name | Description | Type | Default Value |
||||
**PauseLayout** | Pause Layout | bool | false |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -33,12 +33,15 @@ Name | Description | Return Value | Parameters |
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**ID** | ID | string`?` | `null` |
**Name** | Name | string`?` | `null` |
**Text** | Text | string | `Required` |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
**Icon** | Icon | Image`?` | `null` |
**IconSvg** | Icon SVG | string`?` | `null` |
**Visible** | Is it displayed | bool | true |
**Description** | Description | string`?` | `null` |
🌏 **LocalizationDescription** | International Description | string`?` | `null` |
**Type** | Color Type | [TTypeMini](Enum.md#ttypemini) | Primary |
**Fill** | Fill color | Color`?` | `null` |
**Tag** | User defined data | object`?` | `null` |

View File

@@ -8,20 +8,22 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Font** | Font | Color | `System default` |
**Text** | Text | string | `Required` |
**Font** | Font | Font | `System default` |
**Text** | Text | string`?` | `null` |
🌏 **LocalizationText** | International Text | string`?` | `null` |
||||
**Radius** | Rounded corners | int | 6 |
**ArrowAlign** | Arrow direction | [TAlign](Enum.md#talign) | None |
**ArrowSize** | Arrow size | int | 8 |
**ArrowAlign** | Arrow direction | [TAlign](Enum.md#talign) | Top |
**ArrowSize** | Arrow size | int`?` | `null` |
**CustomWidth** | Custom Width | int`?` | `null` |
**Back** | Background color | Color`?` | `null` |
**Fore** | Foreground color | Color`?` | `null` |
### Static Method
### Static Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -50,4 +52,4 @@ Name | Description | Type | Default Value |
**ArrowAlign** | Arrow direction | [TAlign](Enum.md#talign) | None |
**ArrowSize** | Arrow size | int | 8 |
**Offset** | Offset | Rectangle / RectangleF | `null` |
**CustomWidth** 🔴 | Custom Width | int`?` | `null` |
**CustomWidth** | Custom Width | int`?` | `null` |

118
doc/wiki/en/Control/Tour.md Normal file
View File

@@ -0,0 +1,118 @@
[Home](../Home.md)・[UpdateLog](../UpdateLog.md)・[Config](../Config.md)・[Theme](../Theme.md)
## Tour
👚
> A bubble component used to guide users through product features step by step.
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**open** | Open tour guide | TourForm | Form `Form`, Action<Result> `Step Call`, Action<Popover> `Popover Call` |
**open** | Open tour guide | TourForm | Config `Config` |
### Configuration
#### Config Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
**Form** | Form | Form | - |
**Scale** | Scale | float | 1.04F |
**MaskClosable** | Whether clicking the mask allows closing | bool | true |
**ClickNext** | Click next | bool | true |
**StepCall** | Step call back | Action<Result> | - |
**PopoverCall** | Popover call back | Action<Popover>`?` | `null` |
#### Config Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**SetScale** | Set scale | Config | float `Value` |
**SetMaskClosable** | Set whether clicking the mask allows closing | Config | bool `Value` |
**SetClickNext** | Set click next | Config | bool `Value` |
**SetCall** | Set step call back | Config | Action<Result> `Value` |
**SetStepCall** | Set popover call back | Config | Action<Popover> `Value` |
### Helper Classes
#### Result Class
**Property**
Name | Description | Type |
:--|:--|:--|
**Index** | Step index | int |
**Method**
Name | Description | Parameters |
:--|:--|:--|
**Set** | Set control | Control `Control` |
**Set** | Set rectangle | Rectangle `Rectangle` |
**Close** | Close | - |
#### Popover Class
**Property**
Name | Description | Type |
:--|:--|:--|
**Form** | Form | Form |
**Tour** | Tour | TourForm |
**Index** | Step index | int |
**Rect** | Display area | Rectangle`?` |
#### TourForm Interface
**Method**
Name | Description | Parameters |
:--|:--|:--|
**Close** | Close | - |
**IClose** | Internal close | bool `Is Dispose` |
**Previous** | Previous step | - |
**Next** | Next step | - |
**LoadData** | Load data | - |
### Example
```csharp
// Basic usage
Tour.open(this, (result) => {
switch (result.Index)
{
case 0:
result.Set(button1); // Guide to button1
break;
case 1:
result.Set(textBox1); // Guide to textBox1
break;
case 2:
result.Set(new Rectangle(100, 100, 200, 100)); // Guide to specified area
break;
case 3:
result.Close(); // Close guide
break;
}
}, (popover) => {
// Create popover content here
var form = new Form();
form.Text = $"Step {popover.Index + 1}";
form.Size = new Size(200, 100);
// Set popover position
// ...
form.Show(popover.Form);
});
// Full configuration
var config = new Tour.Config(this, (result) => {
// Step callback
})
.SetScale(1.1F) // Set scale
.SetMaskClosable(false) // Click mask not close
.SetClickNext(false); // Click not auto next
Tour.open(config);
```

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventTransferChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -17,15 +17,20 @@ Name | Description | Type | Default Value |
||||
**ShowSelectAll** | Display all check box | bool | true |
**OneWay** | Is it unidirectional mode `only from left to right` | bool | false |
**ShowSearch** | Whether to show search box | bool | true |
**ChangeToBottom** | Whether to display buttons at the bottom | bool |
**ShowSearch** | Whether to show search box | bool | false |
**ChangeToBottom** | Whether to display buttons at the bottom | bool | false |
||||
**SearchPlaceholderSource** | Source list search placeholder text | string? | `null` |
**SearchPlaceholderTarget** | Target list search placeholder text | string? | `null` |
🌏 **LocalizationSearchPlaceholderSource** | Source list search placeholder text localization | string? | `null` |
🌏 **LocalizationSearchPlaceholderTarget** | Target list search placeholder text localization | string? | `null` |
||||
**ItemHeight** | List item height | int? | `null` |
**PanelRadius** | List box rounded corners | int | 6 | false |
**PanelRadius** | List box rounded corners | int | 6 |
**PanelBack** | Panel background color | Color`?` | `null` |
||||
**ForeColor** | Text color | Color`?` | `null` |
**BackColor** | Background color | Color`?` | `null` |
**ForeActive** | Active text color | Color`?` | `null` |
**BackHover** | Hover background color | Color`?` | `null` |
**BackActive** | Activate background color | Color`?` | `null` |
**ButtonForeColor** | Button text color | Color`?` | `null` |
@@ -37,17 +42,17 @@ Name | Description | Type | Default Value |
**BorderColor** | Border color | Color`?` | `null` |
**BorderWidth** | Border width | float | 0F |
||||
**Items** | Data [TransferItem](#transferitem) | List<[TransferItem](#transferitem)> | [] |
**Items** | Data [TransferItem](#transferitem) | TransferItemCollection | [] |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**TransferChanged** | Shuttle box option change event | void | |
**Search** | search event | void | |
**InputStyle** | Input style event | void | Input input `input box`, bool isSource `whether it is a source list` |
**TransferChanged** | Shuttle box option change event | void | TransferEventArgs e `Event parameters, including source and target list items` |
**Search** | Search event | void | SearchEventArgs e `Event parameters, including search text and whether it is a source list` |
**InputStyle** | Input style event | void | InputStyleEventArgs e `Event parameters, including input box and whether it is a source list` |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -8,7 +8,7 @@
- DefaultPropertyItems
- DefaultEventSelectChanged
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -36,21 +36,21 @@ Name | Description | Type | Default Value |
||||
**PauseLayout** | Pause Layout | bool | false |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**SelectChanged** | Occurred when the value of the Select attribute is changed | void | MouseEventArgs args, [TreeItem](#treeitem) item, Rectangle rect |
**SelectChanged** | Occurred when the value of the Select attribute is changed | void | [TreeItem](#treeitem) item, Rectangle rect, TreeCType type, MouseEventArgs args |
**CheckedChanged** | Occurred when the value of the Checked attribute is changed | void | [TreeItem](#treeitem) item, bool value `Select Value` |
**BeforeExpand** | Occurred before Expand is changed | void | [TreeItem](#treeitem) item, bool value `Expand value` |
**BeforeExpand** | Occurred before Expand is changed | bool `Return true to continue expanding` | [TreeItem](#treeitem) item, bool value `Expand value` |
**AfterExpand** | Occurred after Expand is changed | void | [TreeItem](#treeitem) item, bool value `Expand value` |
**NodeMouseClick** | Click Item Event | void | MouseEventArgs args, [TreeItem](#treeitem) item, Rectangle rect |
**NodeMouseDoubleClick** | Double click event | void | MouseEventArgs args, [TreeItem](#treeitem) item, Rectangle rect |
**NodeMouseClick** | Click Item Event | void | [TreeItem](#treeitem) item, Rectangle rect, TreeCType type, MouseEventArgs args |
**NodeMouseDoubleClick** | Double click event | void | [TreeItem](#treeitem) item, Rectangle rect, TreeCType type, MouseEventArgs args |
**NodeMouseMove** | Mobile event | void | [TreeItem](#treeitem) item, Rectangle rect, bool hover |
**NodeMouseDown** | Mouse down event | void | MouseEventArgs args, [TreeItem](#treeitem) item, Rectangle rect |
**NodeMouseUp** | Mouse up event | void | MouseEventArgs args, [TreeItem](#treeitem) item, Rectangle rect |
**NodeMouseDown** | Mouse down event | void | [TreeItem](#treeitem) item, Rectangle rect, TreeCType type, MouseEventArgs args |
**NodeMouseUp** | Mouse up event | void | [TreeItem](#treeitem) item, Rectangle rect, TreeCType type, MouseEventArgs args |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -8,7 +8,7 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -17,7 +17,7 @@ Name | Description | Type | Default Value |
**TextDesc** | Text description | string`?` | `null` |
**Radius** | Rounded corners | int | 8 |
||||
**ForeColor** | Text color | Color`?` | `null` ||
**ForeColor** | Text color | Color`?` | `null` |
**Back** | Background color | Color`?` | `null` |
||||
**BackgroundImage** | Background image | Image`?` | `null` |
@@ -25,17 +25,17 @@ Name | Description | Type | Default Value |
||||
**IconRatio** | Icon Scale | float | 1.92F |
**Icon** | Icon | Image`?` | `null` |
**IconSvg** | Icon SVG | string`?` | `null` |
**IconSvg** | Icon SVG | string`?` | `InboxOutlined` |
||||
**BorderWidth** | Border width | float | 1F |
**BorderColor** | Border color | Color`?` | `null` |
**BorderStyle** | Border Style | DashStyle | Solid |
**BorderStyle** | Border Style | DashStyle | Dash |
||||
**ClickHand** 🔴 | Click to upload | bool | true |
**Multiselect** 🔴 | Multiple files | bool | true |
**Filter** 🔴 | Filename filter string | string`?` | `null` Refer to OpenFileDialog format |
**ClickHand** | Click to upload | bool | true |
**Multiselect** | Multiple files | bool | true |
**Filter** | Filename filter string | string`?` | `null` Refer to OpenFileDialog format |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
@@ -43,7 +43,7 @@ Name | Description | Return Value | Parameters |
**SetFilter** | Set commonly used filters | void | FilterType filterType [Flags] |
### Event
### Events
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|

View File

@@ -5,7 +5,7 @@
> Add watermark to page or control, support text and image watermark.
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|
@@ -13,28 +13,25 @@ Name | Description | Type | Default Value |
**Rotate** | Rotation angle | int | -22 |
**Width** | Watermark width | int | 200 |
**Height** | Watermark height | int | 100 |
**Gap** | Watermark gap | Size | 0, 0 |
**Offset** | Watermark offset | Point | 0, 0 |
**AutoResize** | Auto resize | bool | true |
**Monitor** | Screen watermark | bool | false |
**SubFontSizeRatio** | Sub content font size ratio | float | 0.8F |
**Gap** | Watermark gap [x, y] | int[] | [100, 100] |
**Offset** | Watermark offset [x, y] | int[] | [50, 50] |
**IsScreen** | Screen watermark | bool | false |
**SubFontSize** | Sub content font size ratio | float | 0.8F |
**Font** | Font | Font`?` | `null` |
**ForeColor** | Font color | Color | Color.FromArgb(255, 0, 0, 0) |
**SubFont** | Sub content font | Font`?` | `null` |
**SubForeColor** | Sub content font color | Color`?` | `null` |
**Align** | Alignment | ContentAlignment | MiddleCenter |
**ForeColor** | Font color | Color`?` | `null` |
**TextAlign** | Text alignment | FormatFlags | Center |
**Enabled** | Enabled | bool | true |
**Content** | Watermark content | string | `null` |
**SubContent** | Sub watermark content | string`?` | `null` |
**Image** | Watermark image | Image`?` | `null` |
**Svg** | SVG watermark | string`?` | `null` |
**SvgColor** | SVG color | Color`?` | `null` |
**ImageSvg** | Watermark image SVG | string`?` | `null` |
### Method
### Methods
Name | Description | Return Value | Parameters |
:--|:--|:--|:--|
**open** | Open watermark | LayeredFormWatermark | Control `target`, string `content`, string `subContent` |
**open** | Open watermark | LayeredFormWatermark | Config `config` |
**open** | Open watermark | Form`?` | Control `target`, string `content`, string `subContent` |
**open** | Open watermark | Form`?` | Config `config` |
### Example
@@ -44,9 +41,9 @@ Watermark.open(this, "AntdUI Watermark", "2024-01-01");
// Full configuration
var config = new Watermark.Config(this, "AntdUI")
.SetSub("Powered by AntdUI")
.SetOpacity(0.2f)
.SetRotate(-30)
.SetGap(150, 150);
.SetSub("Powered by AntdUI")
.SetOpacity(0.2f)
.SetRotate(-30)
.SetGap(150, 150);
Watermark.open(config);
```

View File

@@ -6,7 +6,7 @@
- DefaultPropertyText
- DefaultEventClick
### Property
### Properties
Name | Description | Type | Default Value |
:--|:--|:--|:--|

View File

@@ -52,14 +52,14 @@ Change Windows desktop scaling to `100%`
```csharp
internal static class Program
{
[STAThread]
static void Main()
{
// Set DPI awareness mode, choose the one that suits you
Application.SetHighDpiMode(HighDpiMode.PerMonitorV2);
Application.Run(new YourForm()); // Ensure YourForm inherits from AntdUI window class
}
[STAThread]
static void Main()
{
// Set DPI awareness mode, choose the one that suits you
Application.SetHighDpiMode(HighDpiMode.PerMonitorV2);
Application.Run(new YourForm()); // Ensure YourForm inherits from AntdUI window class
}
}
```

View File

@@ -129,11 +129,11 @@
> [![DatePicker](Icon/DatePicker.png)](Control/DatePicker.md)
#### [DatePickerRange](Control/DatePicker.md#datepickerrange)
#### [DatePickerRange](Control/DatePickerRange.md)
> Control for entering or selecting a date range.
> [![DatePickerRange](Icon/DatePickerRange.png)](Control/DatePicker.md#datepickerrange)
> [![DatePickerRange](Icon/DatePickerRange.png)](Control/DatePickerRange.md)
#### [Input](Control/Input.md)
@@ -141,11 +141,11 @@
> [![Input](Icon/Input.png)](Control/Input.md)
#### [InputNumber](Control/Input.md#inputnumber)
#### [InputNumber](Control/InputNumber.md)
> Enter a number within certain range with the mouse or keyboard.
> [![InputNumber](Icon/InputNumber.png)](Control/Input.md#inputnumber)
> [![InputNumber](Icon/InputNumber.png)](Control/InputNumber.md)
#### [Radio](Control/Radio.md)
@@ -171,11 +171,11 @@
> [![Slider](Icon/Slider.png)](Control/Slider.md)
#### [SliderRange](Control/Slider.md#sliderrange)
#### [SliderRange](Control/SliderRange.md)
> A Slider component for displaying current value and intervals in range.
> [![SliderRange](Icon/SliderRange.png)](Control/Slider.md#sliderrange)
> [![SliderRange](Icon/SliderRange.png)](Control/SliderRange.md)
#### [Switch](Control/Switch.md)

View File

@@ -60,12 +60,12 @@ Batch set colors through configuration files, **HEX format is recommended**:
``` csharp
var colorConfig = new Dictionary<string, string> {
{ "Primary", "#ED4192" }, // Brand primary color
{ "PrimaryButton", "#E0282E" }, // Primary color for Button only
{ "Success", "#52C41A" }, // Success color
{ "Warning", "#FAAD14" }, // Warning color
{ "Error", "#F5222D" }, // Error color
{ "Info", "#1890FF" } // Info color
{ "Primary", "#ED4192" }, // Brand primary color
{ "PrimaryButton", "#E0282E" }, // Primary color for Button only
{ "Success", "#52C41A" }, // Success color
{ "Warning", "#FAAD14" }, // Warning color
{ "Error", "#F5222D" }, // Error color
{ "Info", "#1890FF" } // Info color
};
AntdUI.Style.LoadCustom(colorConfig);
```
@@ -92,8 +92,8 @@ AntdUI.Config.IsDark = true;
``` csharp
// Set global theme switching configuration
AntdUI.Config.Theme()
.Dark("#000", "#fff") // Dark mode background and text color
.Light("#fff", "#000"); // Light mode background and text color
.Dark("#000", "#fff") // Dark mode background and text color
.Light("#fff", "#000"); // Light mode background and text color
```
#### Window Theme Configuration
@@ -104,31 +104,31 @@ AntdUI.Config.Theme()
// Set theme switching configuration in window
public partial class Form1 : AntdUI.BaseForm
{
public Form1()
{
InitializeComponent();
// Customize window theme switching configuration
public Form1()
{
InitializeComponent();
// Customize window theme switching configuration
Theme()
.Dark("#1e1e1e", "#ffffff") // Dark mode background and text color
.Light("#ffffff", "#000000") // Light mode background and text color
.Header(header1, Color.FromArgb(240, 242, 245), Color.FromArgb(18, 18, 18)) // Page header color
.Button(btnTheme) // Theme switch button
.CallBefore(dark => Console.WriteLine("Before theme switch: " + dark)) // Theme switch before callback
.Call(dark => Console.WriteLine("After theme switch: " + dark)) // Theme switch callback
.FormBorderColor(Color.LightGray, Color.DarkGray) // Custom window border color
// Or use primary color style window border
// .FormBorderColorPrimary()
// Or use default border color
// .FormBorderColor()
}
// Theme switch button click event
private void btnTheme_Click(object sender, EventArgs e)
{
// Toggle theme mode
AntdUI.Config.IsDark = !AntdUI.Config.IsDark;
}
.Dark("#1e1e1e", "#ffffff") // Dark mode background and text color
.Light("#ffffff", "#000000") // Light mode background and text color
.Header(header1, Color.FromArgb(240, 242, 245), Color.FromArgb(18, 18, 18)) // Page header color
.Button(btnTheme) // Theme switch button
.CallBefore(dark => Console.WriteLine("Before theme switch: " + dark)) // Theme switch before callback
.Call(dark => Console.WriteLine("After theme switch: " + dark)) // Theme switch callback
.FormBorderColor(Color.LightGray, Color.DarkGray) // Custom window border color
// Or use primary color style window border
// .FormBorderColorPrimary()
// Or use default border color
// .FormBorderColor()
}
// Theme switch button click event
private void btnTheme_Click(object sender, EventArgs e)
{
// Toggle theme mode
AntdUI.Config.IsDark = !AntdUI.Config.IsDark;
}
}
```

View File

@@ -1,5 +1,19 @@
[Home](Home.md)・[UpdateLog](UpdateLog.md)・[Config](Config.md)・[Theme](Theme.md)
### `2.3.0` 2026-02-27
- VirtualPanel/Segmented/Breadcrumb/Menu/Tree/Steps/Timeline adaptation language switching
- Input IndexOf LastIndexOf/Substring method
- Image3D EnableHover
- Statistical values
- ✍️ Tabs release exception
- ✍️ Panel shadow depth anomaly
- ✍️ Menu Alignment Item. React Method
- ✍️ Menu segmentation line misalignment
- ✍️ JoinMode style
- ✍️ Failed to render emoji line break text position properly
- ✍️ Emoji Vulcan_Salute_flattlight Color
### `2.2.19` 2026-02-13
- ✍️ Roll back old versions of Tabs

View File

@@ -63,13 +63,13 @@ ComWrappers.RegisterForMarshalling(WinFormsComInterop.WebView2.WebView2ComWrappe
<?xml version="1.0" encoding="utf-8" ?>
<Directives>
<Application>
<Assembly Name="System.Resources.Extensions">
<Type Name="System.Resources.Extensions.RuntimeResourceSet" Dynamic="Required All" />
<Type Name="System.Resources.Extensions.DeserializingResourceReader" Dynamic="Required All" />
</Assembly>
<Assembly Name="System.Drawing">
<Type Name="System.Drawing.Bitmap" Dynamic="Required All" />
</Assembly>
<Assembly Name="System.Resources.Extensions">
<Type Name="System.Resources.Extensions.RuntimeResourceSet" Dynamic="Required All" />
<Type Name="System.Resources.Extensions.DeserializingResourceReader" Dynamic="Required All" />
</Assembly>
<Assembly Name="System.Drawing">
<Type Name="System.Drawing.Bitmap" Dynamic="Required All" />
</Assembly>
</Application>
</Directives>
```

View File

@@ -114,7 +114,7 @@ AntdUI.Config.ShowInWindowByNotification = true;
AntdUI.Config.NoticeWindowOffsetXY = 0;
```
### 通知超出显示后立即关闭旧的Message/Notification 🔴
### 通知超出显示后立即关闭旧的Message/Notification
> 默认超出后等待有旧的关闭才显示
@@ -128,7 +128,7 @@ AntdUI.Config.NoticeOverflowClose = false;
AntdUI.Config.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
```
### 文本高质量呈现 🔴
### 文本高质量呈现
``` csharp
AntdUI.Config.TextRenderingHighQuality = true;

View File

@@ -17,15 +17,16 @@ Alert 警告提示 👚
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**TextTitle** | 标题 | string`?` | `null` |
🌏 **LocalizationTextTitle** | 国际化标题 | string`?` | `null` |
**TextAlign** | 文本位置 | ContentAlignment | MiddleLeft |
**Radius** | 圆角 | int | 6 |
**BorderWidth** | 边框宽度 | float | 0F |
**Icon** | 样式 | [TType](Enum.md#ttype) | None |
**IconSvg** | 自定义图标 | string`?` | `null` |
**CloseIcon** | 显示关闭图标 | bool | false |
**IconRatio** | 图标比例 | float | 0.86F |
**IconGap** | 图标与文字间距比例 | float | 0.4F |
**IconSvg** | 自定义图标SVG | string`?` | `null` |
**CloseIcon** | 是否显示关闭图标 | bool | false |
**IconRatio** | 图标比例 | float`?` | `null` |
**IconGap** | 图标与文字间距比例 | float`?` | `null` |
**Loop** | 文本轮播 | bool | false |
**LoopOverflow** | 仅文本溢出轮播 | bool | false |
**LoopOverflow** | 溢出轮播 | bool | false |
**LoopSpeed** | 文本轮播速率 | int | 10 |
**LoopInfinite** | 轮播文本无尽 | bool | true |
**LoopPauseOnMouseEnter** | 鼠标移入时暂停轮播 | bool | true |

View File

@@ -15,13 +15,13 @@ Avatar 头像 👚
:--|:--|:--|:--|
**OriginalBackColor** | 原装背景颜色 | Color | Transparent |
||||
**BackColor** | 背景颜色 | Color`?` |`null` |
**BackColor** | 背景颜色 | Color | Transparent |
**BorderWidth** | 边框宽度 | float | 0F |
**BorderColor** | 边框颜色 | Color | 246, 248, 250 |
||||
**Text** | 文本 | string`?` | `null` |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**Radius** | 圆角 | int | 6 |
**Radius** | 圆角 | int | 0 |
**Round** | 圆角样式 | bool | false |
||||
**Image** | 图片 | Image`?` | `null` |
@@ -35,5 +35,12 @@ Avatar 头像 👚
**ShadowOffsetX** | 阴影偏移X | int | 0 |
**ShadowOffsetY** | 阴影偏移Y | int | 0 |
||||
**Loading** 🔴 | 加载状态 | bool | false |
**LoadingProgress** 🔴 | 加载进度 `0F-1F` | float | 0F |
**Loading** | 加载状态 | bool | false |
**LoadingProgress** | 加载进度 `0F-1F` | float | 0F |
||||
**EnableHover** | 启用悬浮交互 | bool | false |
**HoverFore** | 悬浮前景 | Color`?` | `null` |
**HoverBack** | 悬浮背景 | Color`?` | `null` |
**HoverImage** | 悬浮图标 | Image`?` | `null` |
**HoverImageSvg** | 悬浮图标SVG | string`?` | `null` |
**HoverImageRatio** | 悬浮图标比例 | float | 0.4F |

View File

@@ -17,11 +17,11 @@ Badge 徽标数 👚
**AutoSizeMode** | 自动大小模式 | [TAutoSize](Enum.md#tautosize) | None |
||||
**ForeColor** | 文字颜色 | Color`?` | `null` |
**Fill** | 填充颜色 | Color`?` | `null` |
**Fill** | 颜色 | Color`?` | `null` |
**State** | 状态 | [TState](Enum.md#tstate) | Default |
**Text** | 文本 | string`?` | `null` |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**TextAlign** | 文本位置 | ContentAlignment | MiddleCenter |
**TextAlign** | 文本位置 | ContentAlignment | MiddleLeft |
||||
**DotRatio** 🔴 | 点比例 | float | 0.4F |
**Gap** 🔴 | 间隔 | int | 0 |
**DotRatio** | 点比例 | float | 0.4F |
**Gap** | 间隔 | int | 0 |

View File

@@ -25,5 +25,5 @@ Battery 电量 👚
**FillFully** | 满电颜色 | Color | 0, 210, 121 |
**FillWarn** | 警告电量颜色 | Color | 250, 173, 20 |
**FillDanger** | 危险电量颜色 | Color | 255, 77, 79 |
**ValueWarn** 🔴 | 警告电量阈值 | int | 30 |
**ValueDanger** 🔴 | 危险电量阈值 | int | 20 |
**ValueWarn** | 警告电量阈值 | int | 30 |
**ValueDanger** | 危险电量阈值 | int | 20 |

View File

@@ -14,12 +14,12 @@ Breadcrumb 面包屑 👚
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**ForeColor** | 文字颜色 | Color`?` | `null` |
**ForeActive** | 激活字颜色 | Color`?` | `null` |
**ForeActive** | 激活字颜色 | Color`?` | `null` |
||||
**Radius** | 圆角 | int | 4 |
**Gap** | 间距 | int | 12 |
||||
**Items** | 数据 `BreadcrumbItem[]` | [BreadcrumbItem[]](#breadcrumbitem) | [] |
**Items** | 数据 | BreadcrumbItemCollection | [] |
||||
**PauseLayout** | 暂停布局 | bool | false |
@@ -36,9 +36,9 @@ Breadcrumb 面包屑 👚
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**ID** | ID | string`?` |`null`|
**ID** | ID | string`?` | `null` |
**Icon** | 图标 | Image`?` | `null` |
**IconSvg** | 图标SVG | string | `null` |
**Text** | 文本 | string | `必填` |
**IconSvg** | 图标SVG | string`?` | `null` |
**Text** | 文本 | string`?` | `null` |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**Tag** | 用户定义数据 | object`?` | `null` |

View File

@@ -23,21 +23,25 @@ Calendar 日历 👚
**Value** | 控件当前日期 | DateTime | `DateTime.Now` |
**MinDate** | 最小日期 | DateTime`?` | `null` |
**MaxDate** | 最大日期 | DateTime`?` | `null` |
||||
**Back** | 背景颜色 | Color`?` | `null` |
**BackExtend** | 背景渐变色 | string`?` | `null` |
**Fore** | 文字颜色 | Color`?` | `null` |
### 日期上的徽标
~~~ csharp
BadgeAction = dates =>
{
// dates 参数为 DateTime[] 数组长度固定为2返回UI上显示的开始日期与结束日期
// DateTime start_date = dates[0], end_date = dates[1];
var now = dates[1];
return new List<AntdUI.DateBadge> {
new AntdUI.DateBadge(now.ToString("yyyy-MM-dd"),0,Color.FromArgb(112, 237, 58)),
new AntdUI.DateBadge(now.AddDays(1).ToString("yyyy-MM-dd"),5),
new AntdUI.DateBadge(now.AddDays(-2).ToString("yyyy-MM-dd"),99),
new AntdUI.DateBadge(now.AddDays(-6).ToString("yyyy-MM-dd"),998),
};
// dates 参数为 DateTime[] 数组长度固定为2返回UI上显示的开始日期与结束日期
// DateTime start_date = dates[0], end_date = dates[1];
var now = dates[1];
return new List<AntdUI.DateBadge> {
new AntdUI.DateBadge(now.ToString("yyyy-MM-dd"),0,Color.FromArgb(112, 237, 58)),
new AntdUI.DateBadge(now.AddDays(1).ToString("yyyy-MM-dd"),5),
new AntdUI.DateBadge(now.AddDays(-2).ToString("yyyy-MM-dd"),99),
new AntdUI.DateBadge(now.AddDays(-6).ToString("yyyy-MM-dd"),998),
};
};
~~~
@@ -46,6 +50,9 @@ BadgeAction = dates =>
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**LoadBadge** | 加载徽标 | void | |
**SetBadge** | 设置徽标 | void | Dictionary<string, DateBadge> dir |
**SetBadge** | 设置徽标 | void | IList<DateBadge> dir |
**SetMinMax** | 设置最小最大日期 | void | DateTime min, DateTime max |
### 事件

View File

@@ -26,7 +26,7 @@ Carousel 走马灯 👚
**Radius** | 圆角 | int | 0 |
**Round** | 圆角样式 | bool | false |
||||
**Image** | 图片集合 `CarouselItem[]` | [CarouselItem[]](#carouselitem) | [] |
**Image** | 图片集合 `CarouselItemCollection` | [CarouselItemCollection](#carouselitem) | [] |
**ImageFit** | 图片布局 | [TFit](Enum.md#tfit) | Cover |
**SelectIndex** | 选择序号 | int | 0 |
@@ -42,5 +42,6 @@ Carousel 走马灯 👚
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**ID** | ID | string`?` | `null` |
**Img** | 图片 | Image`?` | `null` |
**Tag** | 用户定义数据 | object`?` | `null` |

View File

@@ -22,7 +22,7 @@ Checkbox 多选框 👚
**Text** | 文本 | string`?` | `null` |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**TextAlign** | 文本位置 | ContentAlignment | MiddleLeft |
**UseMnemonic** | 是否使用助记键 | bool | true |
**UseMnemonic** | 助记键 | bool | true |
**Checked** | 选中状态 | bool | false |
**CheckState** | 选中状态 | CheckState | Unchecked |
**AutoCheck** | 点击时自动改变选中状态 | bool | true |

View File

@@ -13,7 +13,9 @@ Collapse 折叠面板 👚
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**AutoSize** | 自动大小 | bool | false |
**ForeColor** | 文字颜色 | Color`?` | `null` |
**ForeActive** | 文字激活颜色 | Color`?` | `null` |
**HeaderBg** | 折叠面板头部背景 | Color`?` | `null` |
**HeaderPadding** | 折叠面板头部内边距 | Size | 16, 12 |
**ContentPadding** | 折叠面板内容内边距 | Size | 16, 16 |
@@ -21,18 +23,23 @@ Collapse 折叠面板 👚
**BorderWidth** | 边框宽度 | float | 1F |
**BorderColor** | 边框颜色 | Color`?` | `null` |
||||
**Radius** | 圆角 | int |6 |
**Radius** | 圆角 | int | 6 |
**Gap** | 间距 | int | 0 |
**Unique** | 只保持一个展开 | bool | false |
**UniqueFull** | 一个展开铺满 | bool | false |
**AnimationSpeed** | 展开/折叠的动画速度 | int | 100 |
**FontExpand** | 展开后的标题字体 | Font`?` | `null` |
**TooltipConfig** | 超出文字提示配置 | TooltipConfig`?` | `null` |
||||
**Items** | 数据 `CollapseItem[]` | [CollapseItem[]](#collapseitem) | [] |
**Items** | 数据集合 | CollapseItemCollection | - |
### 事件
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**ExpandChanged** | Expand 属性值更改时发生 | void | [CollapseItem](#collapseitem) value `对象`, bool Expand `是否展开` |
**ExpandingChanged** | Expanding 属性值更改时发生 | void | [CollapseItem](#collapseitem) value `对象`, bool Expand `是否展开` |
**ButtonClick** | CollapseItem上的按钮单击时发生 | void | [CollapseItem](#collapseitem) value `对象`, CollapseGroupButton button `按钮` |
### 数据
@@ -42,7 +49,8 @@ Collapse 折叠面板 👚
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Expand** | 展开 | bool | true |
**Full** 🔴 | 是否铺满剩下空间 | bool | false |
**Text** | 文本 | string`?` | `null` |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**Expand** | 是否展开 | bool | false |
**Full** | 是否铺满剩下空间 | bool | false |
**Text** | 文本 | string | "" |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**Buttons** | 按钮集合 | CollapseGroupButtonCollection | - |

View File

@@ -34,11 +34,11 @@ ColorPicker 颜色选择器 👚
**ShowSymbol** | 显示自定义符号(长度<4) | bool | false |
**Text** | 文本 | string | `""` |
||||
**JoinLeft** 🔴 | 连接左边 `组合按钮` | bool | false |
**JoinRight** 🔴 | 连接右边 `组合按钮` | bool | false |
**JoinMode** | 组合模式 | [TJoinMode](Enum.md#tjoinmode) | None |
**JoinLeft** | 连接左边 `组合按钮`已过时使用JoinMode | bool | false |
**JoinRight** | 连接右边 `组合按钮`已过时使用JoinMode | bool | false |
||||
**Value** | 颜色的值 | Color | Style.Db.Primary `主题色` |
**Value** | 颜色的值 | Color | Colour.Primary.Get(nameof(ColorPicker)) `主题色` |
**DisabledAlpha** | 禁用透明度 | bool | false |
**AllowClear** | 支持清除 | bool | false |
**ShowClose** | 显示关闭按钮 | bool | false |

View File

@@ -13,7 +13,7 @@ ContextMenuStrip 右键菜单
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Target** | 所属目标 | Target | `必填` |
**Control** | 所属控件 | Form | `必填` |
**Control** | 所属控件 `已过时,使用 Target` | Form | `必填` |
**Items** | 菜单内容 `IContextMenuStripItem[]` | [IContextMenuStripItem[]](#contextmenustripitem) | [] |
**Font** | 字体 | Font |`null`|
**Radius** | 圆角 | int | 6 |
@@ -45,7 +45,7 @@ ContextMenuStrip 右键菜单
**Fore** | 文字颜色 | Color`?` | `null` |
**Icon** | 图标 | Image`?` | `null` |
**IconSvg** | 图标SVG | string`?` | `null` |
**Enabled** 🔴 | 使能 | bool | true |
**Enabled** | 使能 | bool | true |
**Checked** | 选中 | bool | false |
**Sub** | 子项 `IContextMenuStripItem[]` | [IContextMenuStripItem[]](#contextmenustripitem) | `null` |
**Tag** | 用户定义数据 | object`?` | `null` |
@@ -78,7 +78,7 @@ ContextMenuStrip 右键菜单
**Fore** | 文字颜色 | Color`?` | `null` |
**Icon** | 图标 | Image`?` | `null` |
**IconSvg** | 图标SVG | string`?` | `null` |
**Enabled** 🔴 | 使能 | bool | true |
**Enabled** | 使能 | bool | true |
**Checked** | 选中 | bool | false |
**Tag** | 用户定义数据 | object`?` | `null` |
@@ -88,109 +88,109 @@ ContextMenuStrip 右键菜单
~~~csharp
string svg_back = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112c-4.1 3.2-4.1 9.4 0 12.6l142 112c5.2 4.1 12.9 0.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z\"></path></svg>",
svg_refresh = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2-29.4-29.4-52.5-63.6-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5c-16.1 38.1-39.2 72.3-68.6 101.7-9.3 9.3-19.1 18-29.3 26L668.2 724c-4.1-5.3-12.5-3.5-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 0.8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z\"></path></svg>",
svg_save = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184z m456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z\" ></path><path d=\"M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z m0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\"></path></svg>",
svg_print = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z\"></path><path d=\"M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180z m304 664H360V568h304v276z m200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z\"></path></svg>",
svg_laptop = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208z m228.3 608l8.1-37h150.3l8.1 37H428.7z m224 0l-19.1-86.7c-0.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z\"></path></svg>",
svg_qr = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8z m-56 284H192V192h220v220z\"></path><path d=\"M274 338h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM468 548H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8z m-56 284H192V612h220v220z\"></path><path d=\"M274 758h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM864 128H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32z m-32 284H612V192h220v220z\"></path><path d=\"M694 338h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM888 548h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8z\"></path><path d=\"M746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM888 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path></svg>",
svg_a = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zM253.7 736h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-0.2 3.2-0.5 5.1-1.8 7.8-7.3 6-12.4L573.6 118.6c-1.4-3.9-5.1-6.6-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-0.4 1-0.5 2.1-0.5 3.2-0.1 5.3 4.3 9.7 9.7 9.7z m255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z\"></path></svg>",
svg_fy = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M140 188h584v164h76V144c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h544v-76H140V188z\"></path><path d=\"M414.3 256h-60.6c-3.4 0-6.4 2.2-7.6 5.4L219 629.4c-0.3 0.8-0.4 1.7-0.4 2.6 0 4.4 3.6 8 8 8h55.1c3.4 0 6.4-2.2 7.6-5.4L322 540h196.2L422 261.4c-1.3-3.2-4.3-5.4-7.7-5.4z m12.4 228h-85.5L384 360.2 426.7 484zM936 528H800v-93c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v93H592c-13.3 0-24 10.7-24 24v176c0 13.3 10.7 24 24 24h136v152c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V752h136c13.3 0 24-10.7 24-24V552c0-13.3-10.7-24-24-24zM728 680h-88v-80h88v80z m160 0h-88v-80h88v80z\"></path></svg>",
svg_add = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path></svg>",
svg_share = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8c1.7-9.3 2.6-19 2.6-28.8s-0.9-19.4-2.6-28.8l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120z m0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z m440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z\"></path></svg>",
svg_about = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9 0.1 0.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5 0.5L80.9 474.2c-21.2 21.1-21.2 55.3 0 76.4L474.6 944c21.2 21.1 55.4 21.1 76.5 0l165.1-165c19-18.9 19-49.7 0-68.6-19-18.9-49.7-18.9-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c0.4-0.4 0.9-0.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0z\"></path><path d=\"M408.6 514.4a106.3 106.2 0 1 0 212.6 0 106.3 106.2 0 1 0-212.6 0Z\"></path><path d=\"M944.8 475.8L821.9 353.5c-19-18.9-49.8-18.9-68.7 0.1-19 18.9-19 49.7 0 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7c-19 18.9-19 49.7 0 68.6 19 18.9 49.7 18.9 68.7 0l121.8-121.7c21.1-21.1 21.1-55.2-0.1-76.4z\"></path></svg>";
svg_refresh = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2-29.4-29.4-52.5-63.6-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5c-16.1 38.1-39.2 72.3-68.6 101.7-9.3 9.3-19.1 18-29.3 26L668.2 724c-4.1-5.3-12.5-3.5-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 0.8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z\"></path></svg>",
svg_save = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184z m456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z\" ></path><path d=\"M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z m0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\"></path></svg>",
svg_print = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z\"></path><path d=\"M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180z m304 664H360V568h304v276z m200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z\"></path></svg>",
svg_laptop = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208z m228.3 608l8.1-37h150.3l8.1 37H428.7z m224 0l-19.1-86.7c-0.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z\"></path></svg>",
svg_qr = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8z m-56 284H192V192h220v220z\"></path><path d=\"M274 338h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM468 548H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8z m-56 284H192V612h220v220z\"></path><path d=\"M274 758h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM864 128H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32z m-32 284H612V192h220v220z\"></path><path d=\"M694 338h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM888 548h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8z\"></path><path d=\"M746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM888 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path></svg>",
svg_a = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zM253.7 736h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-0.2 3.2-0.5 5.1-1.8 7.8-7.3 6-12.4L573.6 118.6c-1.4-3.9-5.1-6.6-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-0.4 1-0.5 2.1-0.5 3.2-0.1 5.3 4.3 9.7 9.7 9.7z m255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z\"></path></svg>",
svg_fy = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M140 188h584v164h76V144c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h544v-76H140V188z\"></path><path d=\"M414.3 256h-60.6c-3.4 0-6.4 2.2-7.6 5.4L219 629.4c-0.3 0.8-0.4 1.7-0.4 2.6 0 4.4 3.6 8 8 8h55.1c3.4 0 6.4-2.2 7.6-5.4L322 540h196.2L422 261.4c-1.3-3.2-4.3-5.4-7.7-5.4z m12.4 228h-85.5L384 360.2 426.7 484zM936 528H800v-93c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v93H592c-13.3 0-24 10.7-24 24v176c0 13.3 10.7 24 24 24h136v152c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V752h136c13.3 0 24-10.7 24-24V552c0-13.3-10.7-24-24-24zM728 680h-88v-80h88v80z m160 0h-88v-80h88v80z\"></path></svg>",
svg_add = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path></svg>",
svg_share = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8c1.7-9.3 2.6-19 2.6-28.8s-0.9-19.4-2.6-28.8l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120z m0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z m440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z\"></path></svg>",
svg_about = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9 0.1 0.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5 0.5L80.9 474.2c-21.2 21.1-21.2 55.3 0 76.4L474.6 944c21.2 21.1 55.4 21.1 76.5 0l165.1-165c19-18.9 19-49.7 0-68.6-19-18.9-49.7-18.9-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c0.4-0.4 0.9-0.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0z\"></path><path d=\"M408.6 514.4a106.3 106.2 0 1 0 212.6 0 106.3 106.2 0 1 0-212.6 0Z\"></path><path d=\"M944.8 475.8L821.9 353.5c-19-18.9-49.8-18.9-68.7 0.1-19 18.9-19 49.7 0 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7c-19 18.9-19 49.7 0 68.6 19 18.9 49.7 18.9 68.7 0l121.8-121.7c21.1-21.1 21.1-55.2-0.1-76.4z\"></path></svg>";
var menulist = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("发送标签页到你的设备")
{
IconSvg = svg_laptop
},
new AntdUI.ContextMenuStripItem("为此页面创建QR代码")
{
IconSvg = svg_qr
},
new AntdUI.ContextMenuStripItem("大声朗读", "Ctrl+Shift+U")
{
IconSvg = svg_a
},
new AntdUI.ContextMenuStripItem("翻译为 中文(简体)")
{
IconSvg = svg_fy
},
new AntdUI.ContextMenuStripItem("将页面添加到集锦")
{
Sub = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back,
Sub = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh, Checked = true
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
},
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh, Checked = true
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
},
IconSvg = svg_add
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("共享")
{
IconSvg = svg_share
},
new AntdUI.ContextMenuStripItem("关于")
{
IconSvg = svg_about
},
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("发送标签页到你的设备")
{
IconSvg = svg_laptop
},
new AntdUI.ContextMenuStripItem("为此页面创建QR代码")
{
IconSvg = svg_qr
},
new AntdUI.ContextMenuStripItem("大声朗读", "Ctrl+Shift+U")
{
IconSvg = svg_a
},
new AntdUI.ContextMenuStripItem("翻译为 中文(简体)")
{
IconSvg = svg_fy
},
new AntdUI.ContextMenuStripItem("将页面添加到集锦")
{
Sub = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back,
Sub = new AntdUI.IContextMenuStripItem[]
{
new AntdUI.ContextMenuStripItem("返回", "Alt+向左键")
{
IconSvg = svg_back
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh, Checked = true
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
},
},
new AntdUI.ContextMenuStripItem("刷新", "Ctrl+R")
{
IconSvg = svg_refresh, Checked = true
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("另存为", "Ctrl+S")
{
IconSvg = svg_save
},
new AntdUI.ContextMenuStripItem("打印", "Ctrl+P")
{
IconSvg = svg_print
},
},
IconSvg = svg_add
},
new AntdUI.ContextMenuStripItemDivider(),
new AntdUI.ContextMenuStripItem("共享")
{
IconSvg = svg_share
},
new AntdUI.ContextMenuStripItem("关于")
{
IconSvg = svg_about
},
};
AntdUI.ContextMenuStrip.open(this, it =>
{
Debug.WriteLine("点击内容:" + it.Text);
Debug.WriteLine("点击内容:" + it.Text);
}, menulist);
~~~

View File

@@ -18,27 +18,31 @@ DatePicker 日期选择框 👚
**Value** | 控件当前日期 | DateTime`?` | `null` |
**MinDate** | 最小日期 | DateTime`?` | `null` |
**MaxDate** | 最大日期 | DateTime`?` | `null` |
**Presets** | 预置菜单 | object[] | [] |
**Presets** | 预置 | BaseCollection | - |
**BadgeAction** | 日期徽标回调 | Func<DateTime[], List<DateBadge>?>? | `null` |
||||
**Placement** | 菜单弹出位置 | [TAlignFrom](Enum.md#talignfrom) | BL |
**DropDownArrow** | 下拉箭头是否显示 | bool | false |
**ShowIcon** | 是否显示图标 | bool | true |
**ValueTimeHorizontal** | 时间值水平对齐 | bool | false |
**ShowButtonToDay** | 显示今天 | bool | true |
**Picker** | 选择器类型 | [TDatePicker](Enum.md#tdatepicker) | Date |
**EnabledValueTextChange** | 文本改变时是否更新Value值 | bool | false |
### 日期上的徽标
~~~ csharp
BadgeAction = dates =>
{
// dates 参数为 DateTime[] 数组长度固定为2返回UI上显示的开始日期与结束日期
// DateTime start_date = dates[0], end_date = dates[1];
var now = dates[1];
return new List<AntdUI.DateBadge> {
new AntdUI.DateBadge(now.ToString("yyyy-MM-dd"),0,Color.FromArgb(112, 237, 58)),
new AntdUI.DateBadge(now.AddDays(1).ToString("yyyy-MM-dd"),5),
new AntdUI.DateBadge(now.AddDays(-2).ToString("yyyy-MM-dd"),99),
new AntdUI.DateBadge(now.AddDays(-6).ToString("yyyy-MM-dd"),998),
};
// dates 参数为 DateTime[] 数组长度固定为2返回UI上显示的开始日期与结束日期
// DateTime start_date = dates[0], end_date = dates[1];
var now = dates[1];
return new List<AntdUI.DateBadge> {
new AntdUI.DateBadge(now.ToString("yyyy-MM-dd"),0,Color.FromArgb(112, 237, 58)),
new AntdUI.DateBadge(now.AddDays(1).ToString("yyyy-MM-dd"),5),
new AntdUI.DateBadge(now.AddDays(-2).ToString("yyyy-MM-dd"),99),
new AntdUI.DateBadge(now.AddDays(-6).ToString("yyyy-MM-dd"),998),
};
};
~~~
@@ -48,41 +52,4 @@ BadgeAction = dates =>
:--|:--|:--|:--|
**ValueChanged** | Value 属性值更改时发生 | void | DateTime? value `控件当前日期` |
**PresetsClickChanged** | 预置点击时发生 | void | object? value `点击项` |
***
## DatePickerRange
DatePickerRange 日期范围选择框 👚
> 输入或选择日期范围的控件。继承于 [Input](Input)
- 默认属性Value
- 默认事件ValueChanged
### 属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Format** | 格式化 | string | yyyy-MM-dd `HH:mm:ss 可显示时分秒选择框` |
||||
**Value** | 控件当前日期 | DateTime[]`?` | `null` |
**MinDate** | 最小日期 | DateTime`?` | `null` |
**MaxDate** | 最大日期 | DateTime`?` | `null` |
**Presets** | 预置菜单 | object[] | [] |
||||
**PlaceholderStart** | 显示的水印文本S | string`?` | `null` |
**PlaceholderEnd** | 显示的水印文本E | string`?` | `null` |
**SwapSvg** | 交换图标SVG | string`?` | `null` |
**Placement** | 菜单弹出位置 | [TAlignFrom](Enum.md#talignfrom) | BL |
**DropDownArrow** | 下拉箭头是否显示 | bool | false |
**ShowIcon** | 是否显示图标 | bool | true |
### 事件
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**ValueChanged** | Value 属性值更改时发生 | void | DateTime[]? value `控件当前日期` |
**PresetsClickChanged** | 预置点击时发生 | void | object? value `点击项` |
**ExpandDropChanged** | 下拉展开 属性值更改时发生 | void | bool value `是否展开` |

View File

@@ -0,0 +1,43 @@
[首页](../Home.md)・[更新日志](../UpdateLog.md)・[配置](../Config.md)・[主题](../Theme.md)
## DatePickerRange
DatePickerRange 日期范围选择框 👚
> 输入或选择日期范围的控件。继承于 [Input](Input)
- 默认属性Value
- 默认事件ValueChanged
### 属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Format** | 格式化 | string | yyyy-MM-dd `HH:mm:ss 可显示时分秒选择框` |
||||
**Value** | 控件当前日期 | DateTime[]`?` | `null` |
**MinDate** | 最小日期 | DateTime`?` | `null` |
**MaxDate** | 最大日期 | DateTime`?` | `null` |
**Presets** | 预置 | BaseCollection | - |
**BadgeAction** | 日期徽标回调 | Func<DateTime[], List<DateBadge>?>? | `null` |
||||
**PlaceholderStart** | 显示的水印文本S | string`?` | `null` |
**LocalizationPlaceholderStart** | 显示的水印文本S国际化 | string`?` | `null` |
**PlaceholderEnd** | 显示的水印文本E | string`?` | `null` |
**LocalizationPlaceholderEnd** | 显示的水印文本E国际化 | string`?` | `null` |
**SwapSvg** | 交换图标SVG | string`?` | `null` |
**Placement** | 菜单弹出位置 | [TAlignFrom](Enum.md#talignfrom) | BL |
**DropDownArrow** | 下拉箭头是否显示 | bool | true |
**ShowIcon** | 是否显示图标 | bool | true |
**ValueTimeHorizontal** | 时间值水平对齐 | bool | false |
**InteractiveReset** | 交互重置(是否每次都开始时间选择) | bool | true |
**Picker** | 选择器类型 | [TDatePicker](Enum.md#tdatepicker) | Date |
**EnabledValueTextChange** | 文本改变时是否更新Value值 | bool | false |
### 事件
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**ValueChanged** | Value 属性值更改时发生 | void | DateTime[]? value `控件当前日期` |
**PresetsClickChanged** | 预置点击时发生 | void | object? value `点击项` |
**ExpandDropChanged** | 下拉展开 属性值更改时发生 | void | bool value `是否展开` |

View File

@@ -19,4 +19,5 @@ Divider 分割线 👚
**TextPadding** | 文本与线距离 `同等字体大小` | float | 0.4F |
**Thickness** | 厚度 | float | 0.6F |
**ColorSplit** | 线颜色 | Color`?` | `null` |
**Text** | 文本 | string`?` | `null` |
**Text** | 文本 | string`?` | `null` |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |

View File

@@ -14,15 +14,17 @@ Drawer 抽屉
:--|:--|:--|:--|
**Form** | 所属窗口 | Form | `必填` |
**Content** | 控件 | Control | `必填` |
**ColorScheme** | 色彩模式 | [TAMode](Enum.md#tamode) | Auto |
**Mask** | 是否展示遮罩 | bool | true |
**MaskClosable** | 点击蒙层是否允许关闭 | bool | true |
**ManualActivateParent** | 关闭后手动激活父窗口 | bool | false |
**Padding** | 边距 | int | 24 |
**Align** | 方向 | [TAlignMini](Enum.md#talignmini) | Right |
**Dispose** | 是否释放 | bool | true |
**Tag** | 用户定义数据 | object`?` | `null` |
**OnLoad** | 加载回调 | Action`?` | `null` |
**OnClose** | 关闭回调 | Action`?` | `null` |
**DisplayDelay** 🔴 | 显示延迟 `加入延迟可有效避免与Mask动画抢占` | int | 100 |
**DisplayDelay** | 显示延迟 `加入延迟可有效避免与Mask动画抢占` | int | 100 |
***
@@ -31,16 +33,16 @@ Drawer 抽屉
~~~csharp
public partial class UserControl1 : UserControl, AntdUI.ControlEvent
{
public void LoadCompleted()
{
System.Diagnostics.Debug.WriteLine("Load");
}
public void LoadCompleted()
{
System.Diagnostics.Debug.WriteLine("Load");
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
System.Diagnostics.Debug.WriteLine("Close");
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
System.Diagnostics.Debug.WriteLine("Close");
}
}
~~~
@@ -49,8 +51,8 @@ public partial class UserControl1 : UserControl, AntdUI.ControlEvent
~~~csharp
private async void button1_Click(object sender, EventArgs e)
{
var usercontrol = new UserControl1(form);
await AntdUI.Drawer.wait(form, usercontrol, AntdUI.TAlignMini.Left);
System.Diagnostics.Debug.WriteLine("End" + usercontrol.ToString());
var usercontrol = new UserControl1(form);
await AntdUI.Drawer.wait(form, usercontrol, AntdUI.TAlignMini.Left);
System.Diagnostics.Debug.WriteLine("End" + usercontrol.ToString());
}
~~~

View File

@@ -17,15 +17,19 @@ Dropdown 选择器 👚
**Trigger** | 触发下拉的行为 | [Trigger](Enum.md#trigger) | Click |
**Placement** | 菜单弹出位置 | [TAlignFrom](Enum.md#talignfrom) | BL |
**MaxCount** | 列表最多显示条数 | int | 4 |
**DropDownRadius** 🔴 | 下拉圆角 | int`?` | `null` |
**DropDownRadius** | 下拉圆角 | int`?` | `null` |
**DropDownArrow** | 下拉箭头是否显示 | bool | false |
**DropDownPadding** | 下拉边距 | Size | 12, 5 |
**DropDownTextAlign** | 下拉文本方向 | [TAlign](Enum.md#talign) | Left |
**ClickEnd** | 点击到最里层 `无节点才能点击` | bool | false |
**Empty** | 为空依旧下拉 | bool | false |
||||
**Items** | 数据 [更多样式](../DropdownStyles.md) | object[] | [] |
**Items** | 数据 [更多样式](../DropdownStyles.md) | BaseCollection | - |
**SelectedValue** | 选中值 | object`?` | `null` |
### 事件
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**SelectedValueChanged** | SelectedValue 属性值更改时发生 | void | object? value `数值` |
**SelectedValueChanged** | SelectedValue 属性值更改时发生 | void | object? value `数值` |
**ItemClick** | 点击项时发生 | void | object? value `点击项` |

View File

@@ -13,9 +13,9 @@ FloatButton 悬浮按钮
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Target** | 所属目标 | Target | `必填` |
**Form** 🔴 | 所属窗口 | Form | `必填` |
**Control** 🔴 | 所属控件 | Control`?` ||
**Font** | 字体 | Font`?` ||
**Form** | 所属窗口 | Form | `必填` |
**Control** | 所属控件 | Control`?` ||
**Font** | 字体 | Font`?` | `null` |
**Align** | 方向 | [TAlign](Enum.md#talign) | BR |
**Vertical** | 是否垂直方向 | bool | true |
**TopMost** | 是否置顶 | bool | false |
@@ -33,21 +33,20 @@ FloatButton 悬浮按钮
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Name** | 名称 | string | `null` |
**Text** | 文本 | string`?` | `null` |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**Fore** | 文字颜色 | Color`?` | `null` |
**Enabled** | 使能 | bool | true |
**Loading** | 加载 | bool | false |
**LoadingValue** | 加载进度 | float | 0.3F |
**Round** | 圆角样式 | bool | true |
**Type** | 类型 | [TTypeMini](Enum.md#ttypemini) | Default |
**Radius** | 圆角 | int | 6 |
**Tag** | 用户定义数据 | object`?` | `null` |
||||
**Fore** | 文字颜色 | Color`?` | `null` |
**Icon** | 自定义图标 | Image`?` | `null` |
**IconSvg** | 自定义图标SVG | string`?` | `null` |
**IconSize** | 图标大小 `不设置为自动大小` | Size`?` | `null` |
||||
**IconSize** | 图标大小 | Size`?` | `null` |
**Text** | 文字及其它内容 | string`?` | `null` |
🌏 **LocalizationText** | 国际化(文本) | string`?` | `null` |
**Tooltip** | 气泡提示 | string`?` | `null` |
🌏 **LocalizationTooltip** | 国际化(气泡提示) | string`?` | `null` |
**Type** | 设置按钮类型 | [TTypeMini](Enum.md#ttypemini) | Default |
**Radius** | 圆角 | int | 6 |
**Round** | 圆角样式 | bool | true |
**Badge** | 徽标文本 | string`?` | `null` |
**BadgeSvg** | 徽标SVG | string`?` | `null` |
**BadgeAlign** | 徽标方向 | [TAlign](Enum.md#talign) | TR |
@@ -59,6 +58,4 @@ FloatButton 悬浮按钮
**BadgeBack** | 徽标背景颜色 | Color`?` | `null` |
**BadgeBorderColor** | 徽标边框颜色 | Color`?` | `null` |
**BadgeBorderWidth** | 徽标边框宽度 | float`?` | `null` |
||||
**Tooltip** | 气泡的内容 | string`?` | `null` |
🌏 **LocalizationTooltip** | 国际化气泡提示 | string`?` | `null` |
**Tag** | 用户定义数据 | object`?` | `null` |

View File

@@ -13,4 +13,4 @@ FlowPanel 流动布局 👚
**AutoScroll** | 是否显示滚动条 | bool | false |
**Align** | 布局方向 | [TAlignFlow](Enum.md#talignflow) | LeftCenter |
**Gap** | 间距 | int | 0 |
**PauseLayout** | 暂停布局 | bool | false ||
**PauseLayout** | 暂停布局 | bool | false |

View File

@@ -14,7 +14,7 @@ GridPanel 格栅布局 👚
:--|:--|:--|:--|
**Span** | 跨度 | string | 50% 50%;50% 50% |
**Gap** | 间距 | int | 0 |
**PauseLayout** | 暂停布局 | bool | false ||
**PauseLayout** | 暂停布局 | bool | false |
### 扩展属性

View File

@@ -15,32 +15,34 @@ HyperlinkLabel 超链接文本 👚
:--|:--|:--|:--|
**Text** | 文本内容,支持 `<a href="...">...</a>` 语法 | string`?` | `null` |
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
**NormalStyle** | 正常状态链接样式 | LinkAppearance | `默认样式` |
**HoverStyle** | 悬停状态链接样式 | LinkAppearance | `默认样式` |
**LinkPadding** | 链接与周围字符的距离 | int | 2 |
**LinkAutoNavigation** | 是否自动打开链接 | bool | true |
**TextAlign** | 文本对齐方式 | ContentAlignment | TopLeft |
**Shadow** | 启用阴影效果 | bool | false |
**ShadowSize** | 阴影大小 | int | 2 |
**ShadowColor** | 阴影颜色 | Color | Color.FromArgb(255, 0, 0, 0) |
**ShadowOpacity** | 阴影透明度 | float | 0.2F |
**ShadowOffset** | 阴影偏移量 | Point | 1, 1 |
**TextAlign** | 文本位置 | ContentAlignment | MiddleLeft |
**Shadow** | 阴影大小 | int | 0 |
**ShadowColor** | 阴影颜色 | Color`?` | `null` |
**ShadowOpacity** | 阴影透明度 | float | 0.3F |
**ShadowOffsetX** | 阴影偏移X | int | 0 |
**ShadowOffsetY** | 阴影偏移Y | int | 0 |
**NormalStyle** | 常规状态下链接的样式 | LinkAppearance`?` | `null` |
**HoverStyle** | 鼠标悬停时链接的样式 | LinkAppearance`?` | `null` |
**LinkPadding** | 链接与周围字符之间的距离 | Padding | 2, 0, 2, 0 |
**LinkAutoNavigation** | 自动调用默认浏览器打开超链接 | bool | false |
**AutoSize** | 自动大小 | bool | false |
**AutoSizeMode** | 自动大小模式 | [TAutoSize](Enum.md#tautosize) | None |
**ForeColor** | 文字颜色 | Color`?` | `null` |
### LinkAppearance 属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Color** | 链接颜色 | Color | Color.FromArgb(255, 10, 76, 178) |
**HoverColor** | 悬停颜色 | Color | Color.FromArgb(255, 79, 126, 194) |
**FontStyle** | 字体样式 | FontStyle | FontStyle.Regular |
**Underline** | 下划线 | bool | true |
**HoverUnderline** | 悬停下划线 | bool | true |
**LinkColor** | 链接呈现的文本颜色 | Color`?` | `null` |
**LinkStyle** | 链接的字体样式 | FontStyle | Regular |
**UnderlineColor** | 下划线颜色 | Color`?` | `null` |
**UnderlineThickness** | 下划线厚度0为不显示下划线 | int | 1 |
### 事件
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**LinkClicked** | 当点击链接时发生 | void | string `href`, string `text` |
**LinkClicked** | 当点击链接时发生 | void | LinkClickedEventArgs `e` |
### 示例

View File

@@ -0,0 +1,81 @@
[首页](../Home.md)・[更新日志](../UpdateLog.md)・[配置](../Config.md)・[主题](../Theme.md)
## Image3D
Image3D 图片3D 👚
> 用于展示带有3D切换动画效果的图片控件。
- 默认属性Image
- 默认事件Click
### 属性
#### 外观属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Back** | 背景颜色 | Color | Transparent |
**Radius** | 圆角 | int | 0 |
**Round** | 圆角样式 | bool | false |
**Image** | 图片 | Image`?` | `null` |
**ImageFit** | 图片布局 | [TFit](Enum.md#tfit) | Cover |
#### 动画属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Vertical** | 是否竖向 | bool | false |
**Speed** | 速度 | int | 10 |
**Duration** | 持续时间(毫秒) | int | 400 |
#### 阴影属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Shadow** | 阴影大小 | int | 0 |
**ShadowColor** | 阴影颜色 | Color`?` | `null` |
**ShadowOpacity** | 阴影透明度 | float | 0.3F |
**ShadowOffsetX** | 阴影偏移X | int | 0 |
**ShadowOffsetY** | 阴影偏移Y | int | 0 |
#### 悬浮属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**EnableHover** | 启用悬浮交互 | bool | false |
**HoverFore** | 悬浮前景 | Color`?` | `null` |
**HoverBack** | 悬浮背景 | Color`?` | `null` |
**HoverImage** | 悬浮图标 | Image`?` | `null` |
**HoverImageSvg** | 悬浮图标SVG | string`?` | `null` |
**HoverImageRatio** | 悬浮图标比例 | float | 0.4F |
### 方法
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**RunAnimation** | 执行动画过渡 | void | Image`?` `切换到新图片` |
### 示例
```csharp
// 基本使用
image3D1.Image = Image.FromFile("test.jpg");
// 切换图片带3D动画
image3D1.RunAnimation(Image.FromFile("new.jpg"));
// 配置动画
image3D1.Vertical = true; // 竖向动画
image3D1.Speed = 15; // 动画速度
image3D1.Duration = 600; // 动画持续时间
// 配置外观
image3D1.Radius = 8; // 圆角
image3D1.Shadow = 4; // 阴影大小
// 配置悬浮效果
image3D1.EnableHover = true;
image3D1.HoverBack = Color.FromArgb(100, 0, 0, 0);
image3D1.HoverImageSvg = "<svg>...</svg>";
```

View File

@@ -15,7 +15,7 @@ ImagePreview 图片预览 👚
:--|:--|:--|:--|
**Image** | 图片集合 | ImagePreviewItemCollection | `新集合` |
**SelectIndex** | 当前选中的图片索引 | int | 0 |
**Fit** | 图片适应方式 | [TFit](Enum.md#tfit) | Contain |
**Fit** | 图片适应方式 | [TFit](Enum.md#tfit) | `null` |
**ShowBtn** | 是否显示按钮 | bool | true |
**ShowDefaultBtn** | 是否显示默认按钮 | bool | true |
**BtnSize** | 按钮大小 | Size | `42, 46` |
@@ -83,21 +83,21 @@ imagePreview1.Image.Add(new ImagePreviewItem().SetImage(Image.FromFile("img3.jpg
// 异步加载图片
imagePreview1.Image.Add(new ImagePreviewItem().SetImage((index, item) => {
// 模拟异步加载
Thread.Sleep(1000);
return Image.FromFile("async.jpg");
// 模拟异步加载
Thread.Sleep(1000);
return Image.FromFile("async.jpg");
}));
// 带进度的异步加载
imagePreview1.Image.Add(new ImagePreviewItem().SetImage((index, item, progress) => {
// 模拟下载进度
for (int i = 0; i <= 100; i += 10) {
Thread.Sleep(100);
// 更新进度
progress(i / 100f, $"加载中 {i}%");
}
// 加载完成
return Image.FromFile("prog.jpg");
// 模拟下载进度
for (int i = 0; i <= 100; i += 10) {
Thread.Sleep(100);
// 更新进度
progress(i / 100f, $"加载中 {i}%");
}
// 加载完成
return Image.FromFile("prog.jpg");
}));
// 添加自定义按钮

View File

@@ -45,7 +45,7 @@ Input 输入框 👚
**IsTextEmpty** | 文本是否为空 | bool | true |
**TextTotalLine** | 文本总行数 | int | 0 |
**ImeMode** | IME(输入法编辑器)状态 | ImeMode | NoControl |
**EmojiFont** | Emoji字体 | string | Segoe UI Emoj |
**EmojiFont** | Emoji字体 | string`?` | `null` |
**AcceptsTab** | 多行编辑是否允许输入制表符 | bool | false |
**Multiline** | 多行文本 | bool | false |
**WordWrap** | 自动换行 | bool | true |
@@ -118,10 +118,15 @@ Input 输入框 👚
**ClearStyle** | 清空样式 | void ||
**GetSelectionText** | 获取当前选中文本 | string? ||
**SelectedText** | 获取设置当前选中文本 | string? ||
**IndexOf** | 查找指定字符串首次出现的位置 | int | string value `要查找的字符串` |
**IndexOf** | 从指定位置开始查找字符串首次出现的位置 | int | string value `要查找的字符串`, int startIndex `开始搜索的位置` |
**LastIndexOf** | 查找指定字符串最后一次出现的位置 | int | string value `要查找的字符串` |
**Substring** | 从指定位置开始截取子字符串 | string | int startIndex `开始截取的位置` |
**Substring** | 从指定位置开始截取指定长度的子字符串 | string | int startIndex `开始截取的位置`, int length `要截取的长度` |
||||
**AnimationBlink** | 开始闪烁动画 | void | int interval `动画间隔时长(毫秒)`, params Color[] colors `色彩值` |
**AnimationBlinkTransition** | 开始颜色过渡闪烁动画 | void | int interval `动画间隔时长(毫秒)`, params Color[] colors `色彩值` |
**AnimationBlinkTransition** | 开始颜色过渡闪烁动画 | void | int interval `动画间隔时长(毫秒)`, int transition_interval `过动画间隔时长(毫秒)`, AnimationType animationType `过动画类型`, params Color[] colors `色彩值` |
**AnimationBlinkTransition** | 开始颜色过渡闪烁动画 | void | int interval `动画间隔时长(毫秒)`, int transition_interval `过动画间隔时长(毫秒)`, AnimationType animationType `过动画类型`, params Color[] colors `色彩值` |
**StopAnimationBlink** | 停止闪烁动画 | void ||
### 事件
@@ -143,63 +148,30 @@ Input 输入框 👚
``` csharp
private void Input1_VerifyChar(object sender, AntdUI.InputVerifyCharEventArgs e)
{
NumberFormatInfo numberFormatInfo = CultureInfo.CurrentCulture.NumberFormat;
string decimalSeparator = numberFormatInfo.NumberDecimalSeparator,
groupSeparator = numberFormatInfo.NumberGroupSeparator, negativeSign = numberFormatInfo.NegativeSign;
string keyInput = e.Char.ToString();
if (char.IsDigit(e.Char))
{
e.Result = true; // 数字可以
}
else if (keyInput.Equals(decimalSeparator) || keyInput.Equals(groupSeparator) || keyInput.Equals(negativeSign))
{
e.Result = true; // 小数分隔符可以
}
else if (e.Char == '\b')
{
e.Result = true; // Backspace键可以
}
else if (e.Char == '。')
{
e.ReplaceText = ".";
e.Result = true; // 中文句号替换为英文句号
}
else
{
e.Result = false;
}
NumberFormatInfo numberFormatInfo = CultureInfo.CurrentCulture.NumberFormat;
string decimalSeparator = numberFormatInfo.NumberDecimalSeparator,
groupSeparator = numberFormatInfo.NumberGroupSeparator, negativeSign = numberFormatInfo.NegativeSign;
string keyInput = e.Char.ToString();
if (char.IsDigit(e.Char))
{
e.Result = true; // 数字可以
}
else if (keyInput.Equals(decimalSeparator) || keyInput.Equals(groupSeparator) || keyInput.Equals(negativeSign))
{
e.Result = true; // 小数分隔符可以
}
else if (e.Char == '\b')
{
e.Result = true; // Backspace键可以
}
else if (e.Char == '。')
{
e.ReplaceText = ".";
e.Result = true; // 中文句号替换为英文句号
}
else
{
e.Result = false;
}
}
```
***
## InputNumber
InputNumber 数字输入框 👚
> 通过鼠标或键盘,输入范围内的数值。继承于 [Input](#input)
- 默认属性Value
- 默认事件ValueChanged
### 属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Minimum** | 最小值 | decimal`?` | `null` |
**Maximum** | 最大值 | decimal`?` | `null` |
**Value** | 当前值 | decimal | 0 |
||||
**ShowControl** | 显示控制器 | bool | true |
**DecimalPlaces** | 显示的小数点位数 | int | 0 |
**ThousandsSeparator** | 是否显示千分隔符 | bool | false |
**Hexadecimal** | 值是否应以十六进制显示 | bool | false |
**InterceptArrowKeys** | 当按下箭头键时,是否持续增加/减少 | bool | true |
**Increment** | 每次单击箭头键时增加/减少的数量 | decimal | 1 |
### 事件
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**ValueChanged** | Value 属性值更改时发生 | void | decimal value `当前值` |
```

View File

@@ -0,0 +1,34 @@
[首页](../Home.md)・[更新日志](../UpdateLog.md)・[配置](../Config.md)・[主题](../Theme.md)
## InputNumber
InputNumber 数字输入框 👚
> 通过鼠标或键盘,输入范围内的数值。继承于 [Input](Input.md)
- 默认属性Value
- 默认事件ValueChanged
### 属性
名称 | 描述 | 类型 | 默认值 |
:--|:--|:--|:--|
**Minimum** | 最小值 | decimal`?` | `null` |
**Maximum** | 最大值 | decimal`?` | `null` |
**Value** | 当前值 | decimal | 0 |
||||
**ShowControl** | 显示控制器 | bool | true |
**WheelModifyEnabled** | 鼠标滚轮修改值 | bool | true |
**DecimalPlaces** | 显示的小数点位数 | int | 0 |
**ThousandsSeparator** | 是否显示千分隔符 | bool | false |
**Hexadecimal** | 值是否应以十六进制显示 | bool | false |
**InterceptArrowKeys** | 当按下箭头键时,是否持续增加/减少 | bool | true |
**EnabledValueTextChange** | 文本改变时是否更新Value值 | bool | false |
**Increment** | 每次单击箭头键时增加/减少的数量 | decimal | 1 |
### 事件
名称 | 描述 | 返回值 | 参数 |
:--|:--|:--|:--|
**ValueChanged** | Value 属性值更改时发生 | void | decimal value `当前值` |
**ValueFormatter** | 格式化数值以供显示 | void | InputNumberEventArgs e |

View File

@@ -15,6 +15,7 @@ Label 文本 👚
:--|:--|:--|:--|
**AutoSize** | 自动大小 | bool | false |
**AutoSizeMode** | 自动大小模式 | [TAutoSize](Enum.md#tautosize) | None |
**AutoSizePadding** | 自动大小填充边距(仅 MiddleCenter | bool | false |
||||
**ForeColor** | 文字颜色 | Color`?` | `null` |
**ColorExtend** | 文字渐变色 | string`?` | `null` |
@@ -26,6 +27,7 @@ Label 文本 👚
**TextMultiLine** | 是否多行 | bool | true |
||||
**IconRatio** | 图标比例 | float | 0.7F |
**IconGap** | 图标与文本间隔 | int | 0 |
**Prefix** | 前缀文本 | string`?` | `null` |
🌏 **LocalizationPrefix** | 国际化前缀 | string`?` | `null` |
**PrefixSvg** | 前缀SVG | string`?` | `null` |
@@ -36,7 +38,7 @@ Label 文本 👚
**SuffixColor** | 后缀颜色 | Color`?` | `null` |
**Highlight** | 缀标完全展示 | bool | true |
**ShowTooltip** | 超出文字显示 Tooltip | bool | true |
**Rotate** 🔴 | 旋转 | [TRotate](Enum.md#trotate) | None |
**Rotate** | 旋转 | [TRotate](Enum.md#trotate) | None |
||||
**Shadow** | 阴影大小 | int | 0 |
**ShadowColor** | 阴影颜色 | Color`?` | `null` |

View File

@@ -17,7 +17,7 @@ LED文本控件 👚
🌏 **LocalizationText** | 国际化文本 | string`?` | `null` |
|||
**FontSize** | 字体大小 | int`?` | `null` |
**EmojiFont** | Emoji字体 | string | `Segoe UI Emoji` |
**EmojiFont** | Emoji字体 | string`?` | `null` |
|||
**DotSize** | 点阵大小 | int | 4 |
**DotGap** | 点阵距离 | int | 2 |

Some files were not shown because too many files have changed in this diff Show More