# ZL.ParamEditor **Repository Path**: qwdingyu/ZL.ParamEditor ## Basic Information - **Project Name**: ZL.ParamEditor - **Description**: No description available - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-01-28 - **Last Updated**: 2026-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ZL.ParamEditor ### 把 WinForms 配置从「苦力活」变成「享受」! 还在为 **WinForms 应用的参数配置界面** 而心力交瘁吗? 手动拖拽控件、写数据绑定、搞校验、调样式…… 每一个配置页,几乎都是重复劳动的 **“苦力活”**。 **是时候改变了。** --- ## 🚀 什么是 ZL.ParamEditor? **ZL.ParamEditor** 是一个专为 **WinForms** 打造的 **高性能参数编辑器框架**。 它不是另一个传统控件库,而是一种 **声明式开发范式**: > **你只需描述「参数是什么」, > 框架自动为你生成「可用、好看、可扩展的交互界面」。** --- ## 🧨 痛点终结者 ### 传统开发 vs. ZL.ParamEditor | 你的传统困境 | ZL.ParamEditor 的解决之道 | |---|---| | **效率低下**:每个参数都要手写控件、事件、绑定 | **声明式开发**:定义 `ParameterDescriptor` 列表,UI 自动渲染,效率提升 **70%+** | | **样式陈旧**:WinForms 默认界面老旧,主题切换困难 | 🎨 **运行时主题系统**:内置浅色 / 深色主题,支持一键切换与完全自定义 | | **验证繁琐**:Validating 事件满天飞,重复代码多 | ✔️ **统一验证框架**:必填、正则、范围校验直接声明,自动错误提示 | | **扩展性差**:特殊参数类型要大改代码 | 🏭 **编辑器工厂模式**:注册自定义编辑器,无侵入扩展 | | **权限混乱**:if-else 控制 Enabled / Visible | 👥 **角色权限系统**:在参数描述中声明角色,UI 自动响应 | --- ## 🌟 核心优势 ### 不只是控件,而是生产力 - ⚡ **极致效率** 从「写 UI 代码」 → 「描述参数结构」 - 🎨 **颜值担当** 现代化、专业级 UI,支持主题化,直接提升产品质感 - 🛡️ **数据堡垒** 校验 + 权限从源头保障数据准确性与安全性 - 🚀 **无限扩展** 工厂模式 + UserControl,应对任何复杂业务场景 --- ## 🧩 无限可能:你的编辑器,你做主 ZL.ParamEditor 的核心魔力在于: ### **`ControlEditorFactoryRegistry`** 它让你可以为 **任何参数类型** 提供专属编辑器。 ### 内置 & 可扩展编辑器一览 | 编辑器类型 | 描述与能力 | 工厂实现 | |---|---|---| | 文本输入 | 单行 / 多行 / 密码 | `TextEditorFactory` | | 数值输入 | int / float / double | `NumberEditorFactory` | | 布尔选择 | 复选框 | `CheckboxEditorFactory` | | 选项选择 | 下拉列表 | `DropdownEditorFactory` | | 路径选择 | 文件 / 文件夹 | `FilePathEditorFactory` | | 日期 / 颜色 | 日期选择器、颜色选择器 | `DatePickerFactory` / `ColorPickerFactory` | | 集合编辑 | 字符串列表、表格 | `StringArrayEditorFactory` / `GridEditorFactory` | | 💡 完全自定义 | 任意 UserControl | `ScheduleEditorFactory`、`EnumRadioGroupEditorFactory` | > **这意味着什么?** > 无论你的业务参数多么复杂 —— > 时间排程器、图片预览选择器、公式编辑器…… > **都可以无缝成为框架的一部分。** --- ## ✨ 三行代码,开启高效之旅 告别繁琐,体验声明式开发的优雅。 ```csharp // 1. 创建编辑器(选择主题) var editor = GenericParameterEditorConfig.CreateDark(); // 2. 定义参数结构(这才是真正的业务逻辑) var descriptors = new List { new() { Key = "SiteName", DisplayName = "站点名称", Editor = EditorType.Text, IsRequired = true }, new() { Key = "RetryCount", DisplayName = "重试次数", Editor = EditorType.Number, DefaultValue = 3 }, new() { Key = "DailySchedule", DisplayName = "每日计划", Editor = EditorType.CustomSchedule } }; // 3. 绑定数据与角色,完成! var configData = LoadConfig(); editor.Bind(configData, descriptors, UserRole.Admin); ``` ## 🎉 一个功能完整、美观、带验证和权限的配置界面已就绪! ## ✨ 案例展示 * JSON配置文件 维护 [![JSON配置文件 维护](Wiki/1.png)] * 复杂步骤参数维护 [![复杂步骤参数维护](Wiki/2.png)] ## 🏁 结语 让框架处理重复的 UI 劳动, 而你,专注于真正的业务价值。 立即尝试 ZL.ParamEditor —— 你将再也回不去手动编写配置界面的时代。