首页 > 代码库 > Navi.Soft20.WinForm操作手册

Navi.Soft20.WinForm操作手册

1概述

1.1应用场景

        尽管互联网高速发展,互联网软件也随之越来越多,但桌面应用程序在某些领域中还是不可替代,如MIS,ERP,CRM等软件产品,同时,这类软件均包括一些通用的功能,如:与数据库操作,日志管理,权限管理等

        本框架指在解决这些问题,并将通用的功能抽离并实现.使在开发过程中,将更多的精力放在业务逻辑

1.2面向对象

        Net程序开发员

1.3开发环境

解决方案

开发环境

描述

NaviSoft20

VS2010或以上

整个框架只有此一个解决方案.Net类库包含2种.分别是Net4.0和Net4.5,

1.4框架特点

l 经典三层架构,上手容易,入门简单

clip_image002

l 操作数据库支持ORM和ADO.Net两种方式.灵活

n 支持多数据库,包括SQLServer,Oracle,SQLite,Access,且项目中可同时操作多数据库

n 采用EntityFramework框架.轻量级ORM框架,微软原创,值得信赖

clip_image003clip_image004

l 主界面支持三种导航菜单,分别是OutlookBar,Tree和TabPage

clip_image006

clip_image008

clip_image010

l 多语言,包括英文,中文简体,中文繁体

clip_image011

clip_image012

l 换肤,支持多达60种皮肤

clip_image014

clip_image016

l 内置各种常用组件

n 自动升级组件

Ø 局域网中,只需将升级文件发至服务器上即可,客户端可自动更新

clip_image017

n 图表组件

Ø FusionChart图表.WebForm和WebMVC均可以使用,提供对该组件的操作帮助类

Ø MSChart图表,目前仅提供WinForm版本的简易操作示例(注:若深入研究,请参考微软官方提供的示例DEMO)

n 数据库操作组件

Ø 包括对SQLServer,Oracle,SQLite和MySql,OleDb(目前未实现)数据库操作.以接口形式访问,易于切换

Ø 支持SQL语句访问,支持存储过程访问

Ø 可批量生成数据库表的Insert,Update,Delete和Select语句

n 日志组件

Ø 日志类型包括:登录日志,操作日志,Db表栏目值变更日志,异常日志,数据库操作(记录Insert,Update,Delete语句)

Ø 日志存储介质包括数据和Txt文本文件

n 消息组件

Ø 消息类型包括Email邮件,SMS短信,IM即时消息

Ø 基于Aspose.NetWork组件的邮件收发功能

Ø SMS服务,可发送文本消息和彩信(需与供应商自行联系)

Ø IM即时消息,纯数据库模式,未经过Socket(目前未实现)

n Office组件

Ø 数据导出.可导出至Excel,Word,CSV,Txt等

Ø 数据导入,支持从Excel,Txt等文件导入

Ø 对CSV,Excel,PDF,PDM(Power Designer),Txt,Word等文档的操作

Ø 文档预览.支持对常用文件的预览.包括:Excel,Word,Visio,PowerPoint,Flash,MP3音频文件,MP4视频文件,SQL,XML等代码文件

n 权限组件

Ø 包括三层结构:组织机构(又称部门),角色,用户

Ø 权限组件,仅提供查询三者之间的关系.如查找某角色下所有用户.某用户所拥有的角色列表

Ø 数据的增删改功能,在框架的其他功能模块中实现,不再此组件中提供

n 打印组件

Ø 内嵌基于Lodap组件打印,支持WebForm和WebMVC两种场景打印

Ø WinForm场景中

clip_image001 内嵌基于PrintDocument类的简单封装

clip_image001[1] 对DataGridView控件的打印封装

n 报表组件

Ø 基于FastReport组件,目前支持WebForm和WinForm,两种应用场景

Ø 提供WinForm场景中,FastReport组件的设计器和示例Demo

Ø WebMVC场景中,可使用Lodap组件作为打印组件

n 资源文件组件

Ø 内嵌多语言解析,目前支持三种:英文,中文简体,中文繁体

Ø 提供资源文件设计器(仅支持运动WinForm页面)

n WebService组件

Ø 内置ADO.Net基本方法,如执行SQL语句,获取单行列数据,获取表数据等

Ø 内置文件下载功能,用于自动更新组件使用

2功能列表

2.1基础编码

2.1.1辅助编码

clip_image019

描述

l 左侧树控件,展示辅助编码类型.可以顶部工具栏新增,修改和删除.注:删除编码类型同时,编码本身同步删除

clip_image020

l 右侧顶部为检索区域,提供常用检索条件

l 右侧中间部分为工具栏,提供对辅助编码的增删改查.同时,右键Grid控件,会出现右键菜单,实现Grid控件打印

l Grid控件支持分页

clip_image021

2.1.2Db数据字典

clip_image023

描述

l 顶部提供数据库类型选择和连接字符串录入

l 选择好数据库类型和连接字符串,单击加载按钮,将数据库结构加载至左侧Db对象列表中.同时,选中行,右侧会展示相应的Db对象内容

l 提供数据字典导出功能,将右侧Db对象内容,导出至Excel文件

2.2开发平台

2.2.1功能系统

clip_image025

描述

l 顶部是数据检索区域,提供检索功能

l 中部是工具栏,用于实现功能系统的增删改

clip_image026

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.2.2功能模块

clip_image028

描述

l 顶部是数据检索区域,提供对功能模块的检索

l 中间部分是工具栏,提供对功能模块的增删改

clip_image029

n 打开方式

clip_image001[2] Execute:打开外部文件

clip_image001[3] Show:非模态打开,加载至框架

clip_image001[4] Showdialog:模态打开

clip_image001[5] Shownotinframe:非模态打开,不依赖于框架

n 访问权限

clip_image001[6] 用户打开框架主页面时,左侧导航菜单,是根据权限配置.访问权限是此功能模块在功能权限中的标识符

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.2.3编码规则

clip_image031

描述

l 顶部是数据检索区域,提供对编码规则的检索

l 中间部分是工具栏,提供对功能模块的增删改

clip_image032

n 前缀类型:包括常量和变量.变量采用此实体类中,某属性值

n 年份格式:包括4位(2014)和2位(14)两种格式

n 月格式:包括月大写(1月份采用01)和月小写(1月份采用1,不补齐)

n 日格工:包括日大写(1号采用01) )和日小写(1号采用1,不补齐)

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.3系统管理

2.3.1系统选项

clip_image034

描述

l 顶部是数据检索区域,提供对系统选项的检索

l 中间部分是工具栏,提供对系统选项的增删改

n 若为系统初始选项,则不允许删除

clip_image035

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.3.2附件管理

clip_image037

描述

l 顶部是数据检索区域,提供对附件的检索

l 中间部分是工具栏,提供对附件的增删改

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

n 附件功能,更多的是在业务模块中,以单据附件的形式存在.如下图所示

clip_image038

n 文件支持预览功能.在上图的文件列表中,双击选中某行即可,如下图所示

clip_image001[7] Flash文件预览

clip_image040

clip_image001[8] Pdf文件预览

clip_image042

clip_image001[9] Sql文件预览

clip_image044

clip_image001[10] Word文件预览

clip_image046

2.3.3数据中心

clip_image048

描述

l 支持数据导入和导出.目前仅支持与Excel文件交互

l 顶部为选择数据库类型和连接字符串和选择导入导出文件

n 使用微软自带控件,实现数据库连接字符串录入

clip_image049

l 中间左侧是Db对象列表或Excel文件内容

l 中间右侧是Db表数据,用于生成SQL语句

2.3.4报表中心

clip_image051

描述

l 内置FastReport报件组件的设计器.注:已嵌入至框架中,不需额外打开

2.3.5消息中心

clip_image053

描述

l 提供收发Email功能功能.基于Aspose.NetWork组件

clip_image055

l 提供发送SMS短信功能(接口调用已完成,需与供应商自行索要帐户密码并充值)

clip_image056

2.4日志管理

2.4.1登录日志

clip_image058

描述

l 记录登录用户登入和登出时间,同时,还记录客户的IP地址和物理Mac地址

l 提供检索,并可将日志导出至Excel

2.4.2操作日志

clip_image060

描述

l 提供登录用户对功能模块的各种操作,包括操作结果和创建时间等

l 提供检索,并可将日志导出至Excel

2.4.3状态日志

clip_image062

描述

l 提供Db表栏目的值变更记录

l 提供检索,并可将日志导出至Excel

2.4.4数据库日志

clip_image064

描述

l 记录登录用户在UI页面操作数据库的SQL语句,包括Insert,Update,Delete语句

l 提供检索,并可将日志导出至Excel

2.4.5异常日志

clip_image066

描述

l 记录应用程序发生异常报错的日志,供开发员查找错误

l 提供检索,并可将日志导出至Excel

2.5权限管理

2.5.1组织机构

clip_image068

描述

l 顶部是数据检索区域,提供检索功能

l 中部是工具栏,用于实现功能系统的增删改

clip_image069

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

l 数据展示控件支持树状态结构

2.5.2角色

clip_image071

描述

l 顶部是数据检索区域,提供检索功能

l 中部是工具栏,用于实现功能系统的增删改

clip_image072

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.5.3用户

clip_image074

描述

l 顶部是数据检索区域,提供检索功能

l 中部是工具栏,用于实现功能系统的增删改

n 提供初始化密码功能.注:暂不支持多用户密码初始化

clip_image075

clip_image076

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.5.4用户角色

clip_image078

描述

l 维护用户和角色关系数据

l 选中左侧角色数据,右侧展示此角色下所拥有的用户列表

2.5.5用户组织机构

clip_image080

描述

l 维护用户和组织机构关系数据

l 选中左侧组织机构数据,右侧展示此组织机构下所拥有的用户列表

2.5.6功能权限

clip_image082

描述

l 顶部是数据检索区域,提供检索功能

l 中部是工具栏,用于实现功能系统的增删改

n 功能权限新增,支持批量新增操作

clip_image083

clip_image084

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.5.7控件权限

clip_image086

描述

l 顶部是数据检索区域,提供检索功能

l 中部是工具栏,用于实现功能系统的增删改

clip_image087

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.5.8数据权限

clip_image089

描述

l 数据权限,是指对数据进行权限过滤.可精确至实体类中某属性

l 顶部是数据检索区域,提供检索功能

l 中部是工具栏,用于实现功能系统的增删改

clip_image090

l 底部是数据展示区,支持分页功能.并可将数据导出至Excel

2.5.9角色功能权限

clip_image092

描述

l 维护角色和功能权限关系

l 选中左侧角色ID,右侧属于此角色中的功能权限,处于选中状态

2.5.10角色控件权限

clip_image094

描述

l 维护角色和控件权限关系

l 选中左侧角色ID,右侧属于此角色ID中的控件权限数据处于选中状态

2.5.11角色数据权限

clip_image096

描述

l 维护角色和控件权限关系

l 选中左侧角色ID,右侧属于此角色ID中的数据权限处于选中状态

2.6辅助工具

2.6.1资源管理器

clip_image098

描述

l 生成WinForm页面中控件的资源文件,包括英文,中文简体,中文繁体

l 生成成功后,数据存储至XML文件

clip_image100

2.6.2DLL查看器

clip_image102

l 查找DLL文件内容.注:仅支持对C#编译的DLL文件查看,并且是没有加密

2.6.3格式化对象

clip_image104

描述

l 支持格式化XML格式字符串

clip_image106

描述

l 格式JSON格式字符串,生成JSON对象,如下图所示

clip_image108

2.6.4格式化字符串

clip_image110

描述

l 格式化字符串,即将SQL语句,生成C#字符串,如上图所示

3解决方案

3.1QH.Core项目

clip_image111

描述

l 整个框架核心类库

n 各种常用操作帮助类.如DateTime,DataTable,Xml,File等

n 框架各基础操作.如DateTimeFormat格式字符串

clip_image112

n Db表实体类,根据领域驱动原则,包括实体类和扩展实体类

clip_image113

n 各组件接口和实现工厂

clip_image114

l UI控件接口和常用UI控件操作基类

clip_image115

3.2QH.Utility项目集

clip_image116

描述

l 此项目集用于对各项技术封装,如MongoDb,Memcached等.封装后,再交由Component层使用

n ComProvider项目,用于加载COM组件,框架所有COM组件均加载至此处,再交由其他项目引用

n EF6项目,是对微软的EntiryFramework框架的封装

n FlexPaper项目,用于WebForm中在线预览功能.此项目是将各种文档,全部转至swf文件,供WebForm项目使用

n Memcached项目,是对第三方缓存控件的封装

n Office项目,是对Office文档及其他常文档的操作.如:CSV,TXT,Word,Excel,PDF等

3.3QH.Component.Log项目

clip_image117

描述

l BoogLoger是应用系统加载时,创建各种组件时,记录组件是否创建成功,输出至Txt文本文档

l LogService是日志组件接口的实现类

3.4QH.Component.Message项目

clip_image118

描述

l MessageService是消息组件接口实现类

l FormSendEMailBill,发送邮件单据页面

l FormSendIMBill,发送即时消息单据页面

l FormSendSMSBill,发送短信单据页面

l EMailHelper,邮件操作常用方法,以静态方法实现

3.5QH.Component.Permission项目

clip_image119

描述

l PermissionService是权限组件接口实现类

3.6QH.Control.WebForm项目

clip_image120

描述

l PageBase是WebForm页面的基类,内置各种常用操作.如获取地址参数值,常用组件封装等

l Helper文件夹,封装各种常用操作,发静态方法实现

3.7QH.Control.WebForm.MVC3项目

clip_image121

描述

l 基于MVC3项目的常用封装

3.8QH.Control.WinForm项目

clip_image122

描述

l 基于WinForm项目的常用封装

l Control文件夹,存储各种控件

n 部分控件取自网络,有涉及到版权,请与我联系!

3.9QH.Control.WinForm.Assist项目

clip_image123

描述

l 基于WinForm项目的常用页面封装

n AssistToolForm文件夹,存储辅助工具常用页面

n ManagePlatForm文件夹,存储开发平台常用页面

n PermissionForm文件夹,存储权限中心常用页面

n UserForm文件夹,存储自定义页面.如主框架左侧导航菜单页面,导入导出通用页面,数据中心页面等

n WorkflowForm文件夹,存储工作流组件常用页面

3.10QH.Kernel项目集

clip_image124

描述

l EF6Models项目,存储EF6生成的Db表实体类

l EF6DAL项目,存储EF6与数据库交互的操作类,及所有Db表的所有类

l EF6Service项目,为业务层,被UI页面调用

l EF6WebUI和EF6WinUI项目,存储UI页面,

4源码解析

解析1

clip_image126

Service层代码

解析2

clip_image128

表单数据加载

解析3

clip_image130

表单数据保存

5FAQ

1. COM组件引用

项目引用若干COM组件,包括PDF文档预览组件,Office文档预览组件,视频播放组件.框架本身已提供安装程序在\packages\Tools\文件夹中(暴风影音安装程序未提供)

Navi.Soft20.WinForm操作手册