From dbd58bc87b4ee6bd177816add96c27fb387f616b Mon Sep 17 00:00:00 2001 From: czz_y Date: Fri, 16 Aug 2024 17:31:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=9E=84=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- AntdUIDemo.csproj | 19 ++++++++++++++++ App.config | 6 ----- MainWindow.cs | 3 ++- README.en.md | 36 ------------------------------ README.md | 2 +- Views/FloatButtonDemo.Designer.cs | 1 + Views/FloatButtonDemo.cs | 11 ++++++++- Views/FlowPanelDemo.Designer.cs | 1 + Views/FlowPanelDemo.cs | 16 ++++++++----- assets/logo.png | Bin 0 -> 8226 bytes 11 files changed, 46 insertions(+), 51 deletions(-) delete mode 100644 App.config delete mode 100644 README.en.md create mode 100644 assets/logo.png diff --git a/.gitignore b/.gitignore index 539c13e..d45590a 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,4 @@ bin-release/ # Projects /.vs /packages -/Properties/PublishProfiles/FolderProfile.pubxml \ No newline at end of file +/Properties/PublishProfiles/ diff --git a/AntdUIDemo.csproj b/AntdUIDemo.csproj index 4171044..60621ac 100644 --- a/AntdUIDemo.csproj +++ b/AntdUIDemo.csproj @@ -7,8 +7,27 @@ true false app.manifest + assets\icon.ico + AnyCPU + Copyright © 2024 czz_y + $(Version) + $(Version) + 1.5.2.0 + czz_y + 基于 Winform UI框架 AntdUI 设计的Demo + https://gitee.com/mubaiyanghua/antd-uidemo + logo.png + README.md + https://gitee.com/mubaiyanghua/antd-uidemo + git + AntdUIDemo;Winform;WinformUI;AntDesign;控件演示 + True + + + + diff --git a/App.config b/App.config deleted file mode 100644 index 193aecc..0000000 --- a/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/MainWindow.cs b/MainWindow.cs index 2a1eaf1..62ef71c 100644 --- a/MainWindow.cs +++ b/MainWindow.cs @@ -10,6 +10,7 @@ namespace AntdUIDemo public MainWindow() { InitializeComponent(); + AntdUI.Config.ShowInWindow = true; //加载菜单 LoadMenu(); menu.SelectChanged += Menu_SelectChanged; @@ -58,7 +59,7 @@ namespace AntdUIDemo control = new FloatButtonDemo(this); break; case "FlowPanel": - control = new FlowPanelDemo(); + control = new FlowPanelDemo(this); break; case "GridPanel": control = new GridPanelDemo(); diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 99d1263..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# AntdUIDemo - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 5c6663e..098b2c7 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ``` 1. git clone 或者直接下载本项目 -2. 使用 Visual Studio打开项目,需按照提示或自行安装 .NET Framework4.8 +2. 若电脑缩放不是100%,使用 Visual Studio 在100%缩放模式下(命令行使用 devenv /noScale 命令启动 Visual Studio)打开项目,并按照提示或自行安装 .NET Framework4.8 3. 编译运行 ``` diff --git a/Views/FloatButtonDemo.Designer.cs b/Views/FloatButtonDemo.Designer.cs index 1626275..d6cf987 100644 --- a/Views/FloatButtonDemo.Designer.cs +++ b/Views/FloatButtonDemo.Designer.cs @@ -502,6 +502,7 @@ // // FloatButtonDemo // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; this.Controls.Add(this.stackPanel1); this.Name = "FloatButtonDemo"; this.Size = new System.Drawing.Size(710, 372); diff --git a/Views/FloatButtonDemo.cs b/Views/FloatButtonDemo.cs index 7b990c8..60795d4 100644 --- a/Views/FloatButtonDemo.cs +++ b/Views/FloatButtonDemo.cs @@ -107,16 +107,25 @@ namespace AntdUIDemo.Views }, btn => { //回调事件 + AntdUI.Message.info(form, btn.Tooltip, autoClose: 1); }) + // 浮动全局配置 { - // 配置 + //字体 Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point), + //附着控件 Control = null, + //位置 Align = (TAlign)select_align.SelectedIndex, + //是否垂直方向 Vertical = select_vertical.SelectedIndex == 0, + //是否置顶 TopMost = select_topmost.SelectedIndex == 0, + //尺寸大小 Size = Convert.ToInt32(input_size.Value), + //相对于Align位置X轴偏移 MarginX = Convert.ToInt32(input_mx.Value), + //相对于Align位置Y轴偏移 MarginY = Convert.ToInt32(input_my.Value), }); } diff --git a/Views/FlowPanelDemo.Designer.cs b/Views/FlowPanelDemo.Designer.cs index 27a52ee..14aced2 100644 --- a/Views/FlowPanelDemo.Designer.cs +++ b/Views/FlowPanelDemo.Designer.cs @@ -445,6 +445,7 @@ // // FlowPanelDemo // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; this.Controls.Add(this.stackPanel1); this.Name = "FlowPanelDemo"; this.Size = new System.Drawing.Size(707, 496); diff --git a/Views/FlowPanelDemo.cs b/Views/FlowPanelDemo.cs index 77c39d6..3d1413d 100644 --- a/Views/FlowPanelDemo.cs +++ b/Views/FlowPanelDemo.cs @@ -7,8 +7,10 @@ namespace AntdUIDemo.Views { public partial class FlowPanelDemo : UserControl { - public FlowPanelDemo() + private AntdUI.Window form; + public FlowPanelDemo(Window _form) { + form = _form; InitializeComponent(); //初始化下拉框 InitSelectItems(); @@ -46,7 +48,7 @@ namespace AntdUIDemo.Views // 添加按钮 private void buttonADD_Click(object sender, EventArgs e) { - flowPanel.Controls.Add(new AntdUI.Button() + var control = new AntdUI.Button() { Text = "Button", Type = TTypeMini.Primary, @@ -54,7 +56,9 @@ namespace AntdUIDemo.Views Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134))), Size = new Size(90, 42), - }); + }; + form.AutoDpi(control); + flowPanel.Controls.Add(control); } // 删除按钮 @@ -76,7 +80,7 @@ namespace AntdUIDemo.Views flowPanel.Controls.Clear(); for (int i = 0; i < 14; i++) { - flowPanel.Controls.Add(new AntdUI.Button() + var control = new AntdUI.Button() { Text = "Button", Type = TTypeMini.Primary, @@ -84,7 +88,9 @@ namespace AntdUIDemo.Views Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134))), Size = new Size(90, 42), - }); + }; + form.AutoDpi(control); + flowPanel.Controls.Add(control); } } diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..627fbfe7f2ae629244fa6ee3e3101bae6584affc GIT binary patch literal 8226 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