Winform 通用开发模板+规范

0 阅读4分钟

全栈老程序员|企业系统/工厂MES/ERP专用

 

目录

1. 适用场景与价值

2. 项目架构(分层设计)

3. 通用类库封装(直接复制可用)

4. 窗体基类设计

5. 通用控件与界面规范

6. 数据分页、查询、导出Excel

7. 权限控制与菜单

8. 异常处理与日志

9. 打印、条码、扫码通用方案

10. 部署与打包规范

11. 老程序员Winform开发20条军规

 

  1. 适用场景与价值

本模板专为企业内部系统、工厂MES、车间管理、ERP、WMS设计。

特点:

  • 稳定、简单、易维护

  • 适合快速做外包项目

  • 符合工厂、车间现场使用习惯

  • 新手也能按规范写出高质量项目

解决痛点:

  • 窗体代码混乱

  • 没有统一规范

  • 重复造轮子

  • 维护成本高

 

  1. 项目架构(企业级分层)

2.1 标准三层架构

  • Model:实体类、数据表映射

  • DAL:数据访问层,SQL/存储过程操作

  • BLL:业务逻辑层,校验、计算、流程

  • Common:通用工具类

  • UI:窗体界面

2.2 项目命名规范

  • Company.Project.Model

  • Company.Project.DAL

  • Company.Project.BLL

  • Company.Project.Common

  • Company.Project.UI

好处:结构清晰、交接方便、维护成本极低。

 

  1. 通用类库封装(直接可用)

3.1 常用工具

  • 配置文件读取(App.config)

  • 数据库帮助类(SqlHelper)

  • Excel导入导出

  • 条码生成、打印

  • 串口通信(电子秤、PLC)

  • 日志记录(文本/数据库)

3.2 通用方法

  • 数据验证(非空、数字、日期)

  • 控件清空、赋值

  • 弹窗提示(成功/失败/确认)

  • 异常统一捕获

 

  1. 窗体基类设计

所有窗体继承一个BaseForm,统一实现:

  • 权限校验

  • 快捷键

  • 窗体加载/关闭统一处理

  • 异常捕获

  • 操作日志

好处:

  • 改一处,全部窗体生效

  • 代码量减少50%

  • 风格统一、专业

 

  1. 通用控件与界面规范

5.1 控件使用规范

  • Label:文字对齐、字体统一

  • TextBox:禁止全角、长度限制

  • DataGridView:禁止自动生成列、固定表头

  • Button:重要按钮高亮,普通按钮灰色

5.2 界面布局

  • 上下结构:查询区 + 数据区 + 按钮区

  • 弹窗大小固定,禁止随意拉伸

  • 字体:微软雅黑 9~10号

  • 色彩:简洁、工厂风,不花哨

 

  1. 数据分页、查询、导出Excel

6.1 分页原则

  • 必须分页,不允许加载全部数据

  • 每页 20/30/50 条

  • 只查需要的字段,不使用 SELECT *

6.2 查询规范

  • 条件为空时不过滤

  • 日期范围必加

  • 支持模糊查询

6.3 导出Excel

  • 统一导出样式

  • 大数据量分Sheet

  • 不卡死界面

 

  1. 权限控制与菜单

7.1 权限模型

  • 用户 → 角色 → 菜单权限 → 按钮权限

7.2 控制粒度

  • 菜单是否可见

  • 按钮是否可用(增删改查导出)

  • 数据权限(部门/车间)

7.3 菜单规范

  • 一级菜单:系统、基础、生产、质量、设备、报表

  • 二级菜单:功能模块

  • 三级菜单:具体页面

 

  1. 异常处理与日志

8.1 异常处理原则

  • UI层捕获,不抛给用户

  • 业务层校验,提前提示

  • 数据层记录日志

8.2 日志必须记录

  • 错误信息、堆栈、时间、用户、IP

  • 关键操作:增删改、导出、打印、登录

 

  1. 打印、条码、扫码通用方案

9.1 扫码枪

  • 监听键盘事件

  • 自动过滤多余字符

  • 自动触发查询

9.2 条码/标签打印

  • 支持批量打印

  • 模板化设计

9.3 报表打印

  • 固定纸张大小

  • 先预览后打印

 

  1. 部署与打包规范
  • .NET Framework 版本匹配

  • 数据库脚本版本管理

  • config配置文件分离

  • 正式环境禁用调试模式

 

  1. 老程序员Winform开发20条军规

1. 能复用就不重写

2. 能简单就不复杂

3. 能小改不大改

4. 禁止写超长方法(一个方法不超过50行)

5. 变量名见名知意,不写a1/a2/b

6. 禁止复制粘贴大段代码

7. 增删改必须加确认框

8. 敏感操作必须记录日志

9. 数据库操作必须加事务

10. 所有窗口必须能关闭、能最小化

11. 查询必须分页

12. 输入必须校验

13. 报错必须提示清楚

14. 不使用过时、弃用的API

15. 配置写config,不写死代码

16. 多用户系统必须考虑并发

17. 部署前必须备份

18. 上线先测试,再正式

19. 保留升级、回滚方案

20. 代码永远为维护者负责