Navi.Soft31.WinForm框架(含下载地址)
1概述
1.1应用场景
尽管互联网高速发展,互联网软件也随之越来越多,但桌面应用程序在某些领域中还是不可替代,如MIS,ERP,CRM等软件产品,同时,这类软件均包括一些通用的功能,如:与数据库操作,日志管理,权限管理等
本框架指在解决这些问题,并将通用的功能抽离并实现.使在开发过程中,将更多的精力放在业务逻辑
---------------------------------------------------------------------------------
博客搬家啦,新地址:
---------------------------------------------------------------------------------
1.2面向对象
Net程序开发员
1.3开发环境
开发环境 |
描述 |
VS2012或以上 |
整个框架只有此一个解决方案.Net类库版本是4.0 |
EntityFramework |
版本6.0 |
MySql数据库 |
版本是5.6 |
SQLite数据库 |
版本是1.0.98.0 |
DevExpress第三方控件 |
版本是12.2,可自行升级至更高版本 |
注:所有项目的目标平台建议选择:x86
1.4框架亮点
l 基于EntityFramework+Repository模式开发,完全ORM开发.通过配置Config文件,可切换不同数据库
n 检索数据全部通过QueryModel类,避免出现检索方法参数过多.检索方式基于Linq语法,简单高效
u 引入Specification模式
u 可编写Linq语法Where条件
n 采用双Model模式,Entity类用于DAL层操作数据,Model类用于UI层页面展示
l 主界面支持2种顶部菜单,包括MenuBar普通菜单和Ribbon类型菜单,同时支持3种导航菜单,分别是Accordion,Tree和TabPage
Riibon+Accordion模式
Ribbon+Tree模式
MenuBar+Tabpage模式
l 多语言,包括英文,中文简体,中文繁体
n 注:语言包可自行编辑,已提供编辑器
l 换肤,支持多达60种皮肤
n 换肤包括2种功能,包括系统样式和系统皮肤,分别从Ribbon菜单的如下位置切换
l 框架数据可通过WebAPI和WebService两种方式被第三方软件使用
n 调用代码如下所示
l 基础设置模块,包括系统选项,编码规则等
详见2.1介绍
l 通用权限模块,可精确至按钮级别
详见2.2介绍
l WinForm常用业务场景示例
详见2.3介绍
2功能模块
2.1基础设置
2.1.1元数据
描述
l 左侧Grid控件,展示辅助编码类型.暂不提供对辅助编码类型编辑
l 右侧Grid控件,展示辅助类型对应的辅助编码,可增删改
2.1.2系统选项
描述
l 每个编辑控件对应选项表中一个选项
l 设置完成后,点击保存,实现对选项的修改
l 注:暂不提供对选项的新增和删除
2.1.3系统语言包
暂未提供
2.1.4编码规则
描述
l 提供对编码的新增,删除和修改操作
n 编码前缀:常量.任意字符串
n 中间值类型:年月日,EAN13和无.其中,EAN13用于生成条码使用
n 中间值长度:6和8.针对年月日,格式:yyMMdd和yyyyMMdd
n 序号长度:顺序号长度
2.1.5计量单位
描述
l 提供对计量单位的批量增删改查功能
n 批量操作的典型示例
2.2基础数据
2.2.1部门信息
描述
l 顶部部分是工具栏,提供对部门的增删改查
n 部门支持无限分级
l 中间是数据检索区域,可录入部门名称和负责人,提供检索条件
l 提供对单条部门新增/编辑功能,如下图所示
2.2.2用户信息
描述
l 顶部是工具栏,提供对用户的增删改和初始化密码
n 提供用户条码生成和打印功能.选中用户,点击打印条码,弹出如下图所示页面,可直接打印
l 中部左侧是部门树状结构列表,右侧为选中部门下用户列表
l 提供对单条用户新增和编辑功能,如下图所示
2.2.3功能模块
描述
l 顶部是工具栏,提供对功能模块的增删改功能
l 中间是数据展示区域,可直接编辑,点击保存即可
n Grid控件批量操作数据典型示例
2.2.4权限信息
描述
l 顶部是工具栏,提供对权限的增删改功能
l 中间是数据展示区域,可直接编辑,点击保存即可
2.3.5角色/权限
描述
l 提供对角色数据的新增,删除和修改.如上图左侧显示
l 提供对角色/用户关系的数据维护.如上图右侧显示.用户根据部门分组,最右侧是此角色中的用户列表
l 提供对角色/功能模块的数据维护,即某一角色所拥有的对某功能模块的操作权限,如:访问,新增,修改,删除等.权限可控制至按钮级别
l 注:暂不支持数据权限
2.3实验室
2.3.1微软控件
描述
l 提供在日常项目开发过程中,各功能点整理和总结
n 提供对字符串的加密/解密,转义等功能.如下图所示
n 时区转换
n C#代码是支持goto语句的,如下图所示.但不推荐使用
n 调用Com对象.此项技术用于使用C#制作Com对象,被其他开发工具使用.如:VB,PB,Delphi等
n 条码打印.此示例是使用DevExpress提供的打印功能,通过其自带的打印模板,实现打印功能.如下图所示
n 截屏(全屏),用于将整个屏幕截取,生成图片文件.适用于系统出现异常,需要将数据发送给系统管理员
n 异步示例.包括单条和多条.是基于BackgroundWorker控件,直接查看示例即可.如下图所示
n 打开摄像头.使用第三方插件,打开摄像头,并截取屏幕
n 源码预览.使用第三方控件,实现源码预览.支持文件类型包括:sql,cs,vb和xml.如下图所示
n 生成二维码.是基于ZXing.net组件开发而成.可生成一维码(条形码和二维码).详细示例如下图所示
n 截取页面.是根据Url地址,将其内容生成图片.代码比较简单,可以示例中自行实验
n 生成验证码.是指生成图片验证码.如下图所示
n Tree控件帮助页面.是指将数据以树状形式展示,只需传入参数,页面是公用的
n Grid控件帮助页面.是指将数据以Grid网格形式展示,只需传入参数,页面公用
n CheckBoxList帮助页面,是指将数据以复选框列表形式展示,只需传入参数,面用公用
n 附件列表.是指在WinForm项目,可以打开各种文件预览.包括Office,Html,Xml等
u 注:暂不支持cad文件预览
u 双击预览文件
预览Excel文件
预览Flash文件
预览Gif文件
预览Mht或Html文件
预览PPT文件
预览SQL文件
预览Visio文件
预览Word文件
预览Xml文件
预览图片文件
预览Pdf文件
n 附件预览(Web)
描述
此附件预览功能,是针对Web站点件操作,而不是本地.可实现对网络文档的管理,如上传和下载等
u 文档下载如下所示
n 简易服务器
描述:即通过代码在系统搭建一个仿IIS的服务器(利用HttpListener类),实现不同应用程序间的通信服务
2.3.2Dev表单控件
描述
l 提供对Dev表单的示例
n 弹出提示框,包括3种
n MSN提示:在屏幕右下角弹出提示信息,仿MSN效果
n 打印设计器,提供打印设计器
2.3.3DevGrid控件
l 此示例主要针对Grid控件的综合示例.包括分页,多表头,各种栏目类型,父子表,Layout视图,表达式
n 分页
注:此功能的分页,是数据库分页,不是内存分页
n 多表头
注:支持汇总合计
n 栏目类型
注:常用的栏目类型均支持,包括:复选框,日期,图片列表,按钮,进度条,RadioButton列表等
n 父子表
n Layout视图
n 表达式
2.3.4Dev图表控件
描述
l 取自官方Demo,整合进来.此示例还包括:PivotGridControl控件使用
2.3.5Dev报表控件
暂未实现
2.3.6Dev日程控件
暂未实现
5FAQ
1. COM组件引用
项目引用若干COM组件,包括PDF文档预览组件,Office文档预览组件,视频播放组件.框架本身已提供安装程序在\packages\Tools\文件夹中(暴风影音安装程序未提供)
2. SQLite数据库如何使用
注1:所有的C#项目的目标平台,建议是x86,即使是64位开发环境中
注2:需要在客户端安装SQLite驱动,可以官方下载,注:本框架使用的是Net4.0的驱动.文件名称是: sqlite-netFx40-setup-bundle-x86-2010-1.0.98.0.exe
6后记
此版本是3.1,在2.0基础上整合,引用DevExpress控件,重构大量代码,稳定性大大增强.同时,也引入若干Winform应用场景下的示例