当前位置: 首页 > news >正文

一行代码快速开发 AntdUI 风格的 WinForm 通用后台框架

前言

在快速迭代的软件开发环境中,如何高效地开发一个功能完整、界面美观的 WinForm 管理系统,是许多开发者面临的现实问题。今天推荐一款基于 Ant Design 设计语言的 WinForm UI 框架,它通过深度封装和现代化设计,彻底改变了传统 WinForm 应用的开发模式。大家无需再为繁琐的基础设施代码所困扰,只需聚焦核心业务逻辑,能够用极简的方式快速搭建企业级桌面应用。

项目介绍

WenAntdUI 项目的主要模块及其对应的功能说明,涵盖了从示例测试到核心应用的各个组成部分,便于大家了解项目结构和功能分布。

项目结构具体如表所示:

内部运行集成:一行代码搞定一个完整的管理系统基础功能

项目功能

AOT发布:支持AOT(Ahead-of-Time)编译发布,提升应用性能。

字典管理:提供增删改查功能,方便管理系统中的各类字典数据。

用户管理:支持用户的增删改查、角色分配和密码重置。

菜单管理:实现菜单的增删改查,支持自定义页面控件和样式。

权限管理:精细的权限控制,确保系统的安全性。

用户设置:允许用户更改密码和修改图像,图像存储在SQL中。

项目说明

初次运行与登录

首次运行WenAntdUI时,它会自动初始化一个Sqlite数据库,并在运行目录下创建data.db文件。可以使用默认的登录账户admin和密码admin快速进入系统,开始体验各项功能。

集成启动方式

应用WenAntdUI,可以使用顶级语句:

App.Run(); // 只需要此代码即可启动一个项目// services 主要是注入服务,将项目控件注入到服务中。
App.Run(services =>
{services.AddControlServices(Assembly.GetExecutingAssembly());
});
// AddControlServices 内部封装了Control注入功能,只需要传递程序集即可
// 很多开发项目,需要使用注册机功能,也只需要在 App.Run修改,即可拥有一个完整的注册机功能,硬件信息生成唯一注册码
App.Run(services =>
{services.AddControlServices(Assembly.GetExecutingAssembly());
}, true); // 此处增加参数

加密解密

加密解密KEY请自行生成替换 Wen.Core.Helps AesRsaHelp 中的内容:

public static string RsaFromPem { get; set; } = @"-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxot7LoZAVHZDhlGE8e6/
WqTmgmGZhVepofQhhynB/jTA69lMXoKfcXJMr/8Zyfdug97re7NkJX8Jei4cJlEv
nyzNRrY1tz1+dkrISYi0nBkwaDMTd2Wsw63QjcqZl1yCTVT6jboNR/0a7hyb2gwt
5cXW2ylgVZ6PttOUPXb3ZF8oWLe1BVWfcQXFIlErqVjsY3iFgcNxCucvYhiDzcbm
qHFIbUj9760E666Ws3Io32OQK1EkkdufqNuL1gm9/9qYXE0KChGzetnFfhtOGmvK
cPp3os07zdeeFOdKbwCbZjUxSy2a/6IKvEWilONNPNSMBxcc70oci565CtrIdyah
IQIDAQAB
-----END PUBLIC KEY-----";public static string AesKey = "u4GP+xHwd3slNDYCVeOvDpbe0eLJz7XpaEj46SA9EtM=";
public static string AesIv = "8Daxh29YSAjUBulFYoMhdw==";

功能集成

内部集成了枚举、字典等样式识别,全局采用注入方式。Page控件可以使用注入方式,直接调用:

[Description("角色管理")] // 此处为菜单选择注释
public partial class SysRolePage : UserControl
{private readonly IFreeSql fsql;private readonly MenuService menuService;public SysRolePage(IFreeSql fsql, MenuService menuService){this.fsql = fsql;this.menuService = menuService;InitializeComponent();this.adminTable1.SetColumns<SysRole>();this.adminTable1.Query();InitMenuItem();this.adminTable1.CellClick += AdminTable1_CellClick;}
}

AdminTable

封装控件 AdminTable 只需要一行代码即可实现一个表的增删改查。

this.adminTable1.SetColumns<SysRole>();[Index($"index_{nameof(SysRole)}_{nameof(RoleName)}", nameof(RoleName), true)]
public class SysRole
{/// <summary>/// 获得/设置 角色名称/// </summary>[DisplayName("角色名称")][Col] // 自动编辑功能,需要在属性上面加上 Col 特性[Key]public string? RoleName { get; set; }/// <summary>/// 获得/设置 角色描述/// </summary>[DisplayName("角色描述")][Col]public string? Description { get; set; }
}

1、自定义构建列

this.adminTable1.SetColumn<SysMenuDto>().Add(a => a.Name, 288, c => c.SetTree(nameof(SysMenuDto.Childs))).Add(a => a.Code).Add(a => a.ParentCode).Add(a => a.OrderNo).Add(a => a.IconImage).Add(a => a.MenuType).Add(a => a.Description).Add(a => a.ControlType);

2、查询数据

this.adminTable1.QueryData = async e =>
{e.IsExpand = true;return await fsql.Select<SysMenuDto>().WhereIf(!string.IsNullOrWhiteSpace(e.QueryText), a => a.Name.Contains(e.QueryText)).ToTreeList();
};
this.adminTable1.Query(); // 手动执行查询

字典管理

支持增删改查操作。

菜单管理

支持增删改查、页面控件、自定义样式。开发中无需考虑 new,可以使用注入方式,在构造函数中使用:

public partial class UserControlTestTable : UserControl
{public UserControlTestTable(IFreeSql fsq1){InitializeComponent();adminTable1.SetColumns<SysDict>();}
}
// 需要提前注入,若是采用插件方式开发,此处可以调用外部插件直接注入dll文件
App.Run(services =>
{services.AddControlServices(Assembly.GetExecutingAssembly());
}, true);

完成注入后即可在菜单中选中使用。

角色管理

支持增删改查及权限分配。

用户管理

支持增删改查、角色分配、密码重置。

用户信息设置

支持更改密码、修改图像,图像存储在SQL中。

封装组件演示

1、前后端分离增删改查

2、图像选择组件

3、字典选择组件

4、上传功能集成组件

5、下载功能集成组件

6、Model编辑组件

7、双向绑定

8、Auth组件(按钮权限)

注意:前后分离通用查询方式虽然方便,但出于安全考虑,不集成在 AdminTable。若需要使用,只要替换增删改查代码即可。

1、查询数据

需要提供类型、搜索内容、页码、单页数:

var client = new ApiClient();
var res = await client.GetListAsync(typeof(SysDict), "", true, 1, 5);
this.table1.DataSource = res.Data;

2、更新数据

var client = new ApiClient();
var res = client.UpdateObject(item);
await RefreshDataAsync();

3、删除数据

var client = new ApiClient();
var res = client.DeleteObject(item);
await RefreshDataAsync();

4、插入数据

var client = new ApiClient();
var res = client.InsertObject(item);
await RefreshDataAsync();

Model编辑组件

使用方式:

this.modelEditControl1.GetItemBuilder(value).Add(a => a.Color).Add(a => a.Name).Add(a => a.CreateTime).Add(a => a.Image).Add(a => a.KK).Add(a => a.Dict).Add(a => a.KKd).Add(a => a.Typ).Add(a => a.TestEditControlTest, content: new TestEditControl()).Add(a => a.Check);

更新数据:

this.modelEditControl1.Model = obj;

Auth组件(按钮权限)

在设计页面拖入 Auth 控件,然后点击按钮,按钮上就会多一个权限属性。

AdminTable 增删改权限设置方法:

this.auth1.SetAuth(this.adminTable1, "useradmin");
// 菜单中请设置权限 useradmin:edit,useradmin:delete,useradmin:add

项目源码

Gitee:https://gitee.com/AntdUI/wen-antd-ui

总结

WenAntdUI框架基于AntdUI,集成了多种实用功能,通过简洁的集成方式和丰富的组件库,为开发者提供了一站式的管理后台开发解决方案。不管是初始化与登录、项目结构与启动、数据演示与配置,还是功能集成与组件使用,WenAntdUI都表现出了极高的易用性和灵活性。对于希望快速开发管理后台系统的团队来说,WenAntdUI无疑是一个值得尝试的选择。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

http://www.jsqmd.com/news/27247/

相关文章:

  • 2025年优质的网带炉厂家选购指南与推荐
  • 2025年耐用的别墅电梯行业内口碑厂家排行榜
  • ui设计公司审美积累 | 扁平化app界面设计
  • 飞牛os初体验
  • 2025 年钢球厂家最新推荐榜:技术实力与市场口碑深度解析,筛选优质服务商420 不锈钢球 / 304 不锈钢球 / 316L 不锈钢球制造商推荐
  • 2025年正规的学校宿舍铁床厂家推荐及采购指南
  • 2025年短视频运营公司推荐:行业五大短视频公司深度解析
  • 2025年知名的五星酒店家具厂家最新用户好评榜
  • 2025 年广告喷绘公司最新推荐榜:优质企业实力解析与选择指南墙体广告喷绘广告牌 / 墙面广告喷绘 / 手绘广告喷绘推荐
  • 2025年正规的玻璃淋浴房配件品牌厂家排行榜
  • Python 格式化字符串 _ 优雅群发春节短信
  • 2025年升压充电芯片供货厂家权威推荐榜单:升降压充电管理IC/超级电容充电/开关型充电管理IC源头厂家精选
  • 2025年财税咨询会计公司:专业选择与企业成长指南
  • 2025年财税咨询会计公司:趋势、选择与临沂华恒的专业服务
  • 2025年口碑好的2000a母线槽多少钱一米品牌厂家排行榜
  • 2025 年夹丝玻璃厂家最新推荐榜,技术实力与市场口碑深度解析覆盖防火 / 艺术 / 酒店等多场景
  • 2025年国标电缆生产厂家权威推荐榜单:平方电缆/电缆规格 /电线电缆十大品牌源头厂家精选
  • 2025年可靠的烤漆龙骨热门厂家推荐榜单
  • 2025年评价高的矿物质防火电缆TOP品牌厂家排行榜
  • JOIST2025 传统题记录
  • 【ROS2学习笔记】分布式通信 - 教程
  • 详细介绍:C语言内存管理与命令行参数详解
  • MySQL双主Keepalived抢占配置手册
  • Blender柔体布料无限循环游戏动画插件 Revolve Mesh Looper
  • LR专业胶片模拟调色预设合集 Film Everything – All Packs
  • 2025年有实力的人防镀锌风管高评价厂家推荐榜
  • 2025年质量好的机械修复冷焊机厂家最新用户好评榜
  • 2025年双轴复卷机制造厂权威推荐榜单:全自动复卷机/自动切卷机/高速分条机源头厂家精选
  • 2025年质量好的激光切割螺杆空压机厂家推荐及选择指南
  • 2025年诚信的卧式暗装风机盘管厂家最新推荐权威榜