Ligg.EasyWinApp-100-Ligg.EasyWinForm:一款Winform应用编程框架和UI库介绍

Posted liggin2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ligg.EasyWinApp-100-Ligg.EasyWinForm:一款Winform应用编程框架和UI库介绍相关的知识,希望对你有一定的参考价值。

本项目是一个Winform应用编程框架和UI库。通过这个该框架,不需任何代码,通过XML配置文件,搭建任意复杂的Windows应用界面,以类似Execel公式的方式实现基本的过程控制(赋值、条件判断、循环、跳转)和功能(字符处理、文件处理、Windows脚本执行、逻辑运算、数学运算、数据输入输出-支持StringJonsonDataTable类型的数据);动态加载即插即用.Net组件实现特定的业务处理功能;支持多线程、多语言。

程序启动运行示意图:

 技术图片

 

 

**说明SeqExec.exe是一个用C编写的.net程序的启动程序,用于检测.net版本并安装指定的版本,然后运行主执行程序并传递参数。(代码和示例详见:https://www.github.com/liggin2019/Ligg.SeqExec)

 

说明:

Application一个应用,对应一个CBLP.dll

Function一个应用的功能界面,一个应用对应多个Function;如某应用可分为管理员界面、用户界面。

View一个Function对应多个View,本框架用View实现多窗体(MDI)的效果。 一个View由多个Area组成,Area是在不同Region上的非连贯的区域(Panel)的集合,即Region是Area的容器;Region是Section上一个连贯的区域(Panel), 即Section是Region的容器;Section是FunctionForm的一个横跨窗体的连贯的区域(Panel, Dock =System.Windows.Forms.DockStyle.Top/Down)。

PublicView是总是显示(不会被隐藏)的View,其他View如果不是当前View,会被隐藏。

Zone可以看成是一个表单,一个View里面有多个Zone(Panel),Area是Zone的容器,Zone里面包含多个控件和Transaction Items。每个Zone是一个独立自信单元(IEU),可以单独组成一个View独立运行,或者是以模态(Dialog)的方式弹出对话框。

Procedures一个过程控制的配置文件,实现赋值、条件判断、循环、跳转等,分为function级别和Zone级别;Procedure有以下类型,见下图。

技术图片

 

 

启动运行步骤:

步骤1:运行启动程序SeqExec.exe》传参>>运行.WinFormUi.exe

步骤2:读取Application级别配置文件》设置Culture和当前/缺省语言》验证启动密码》其他验证》启动登录》显示软件封面》创建 ReleaseForm的实例(调试阶段是DebugForm)》初始化CBLP.dll

步骤3:读取Function级别配置文件》确定FunctionForm样式/风格》初始化FunctionForm

步骤4:读取PublicView配置文件》初始化PublicView

步骤5:读取首个View配置文件》初始化View

步骤6:读取各个Zone的配置文件》初始化Zones

 

下面将分几个章节来介绍设计思路和分析源码:

Ligg.EasyWinForm:启动:传入参数、验证密码、软件封面、启动登录、ReleaseFormDebugForm

Ligg.EasyWinFormApplication

Ligg.EasyWinFormFunction: menutrayControlBox

Ligg.EasyWinFormView

Ligg.EasyWinFormProcedure

Ligg.EasyWinFormZone

Ligg.EasyWinFormControl StyleClassStyleText

Ligg.EasyWinFormResolveConstant, GetTextAction

Ligg.EasyWinForm:各控件介绍

Ligg.EasyWinForm:控件字段验证

Ligg.EasyWinForm:支持多语言

Ligg.EasyWinForm:支持多线程

Ligg.EasyWinForm:如何调试和发布

Ligg.EasyWinForm:与Windows域帐号集成实现SSO

Ligg. EasyWinForm即插即用“.Net组件---核心业务逻辑处理组件(CBLP)组件

Ligg.EasyWinFormCBLP组件与数据库接口(mysql/MSSQL

Ligg.EasyWinFormCBLP组件与服务器端接口(WCF/RESTful)

Ligg.EasyWinFormCBLP组件与嵌入式设备接口(基于OPC标准协议)

 

以上是关于Ligg.EasyWinApp-100-Ligg.EasyWinForm:一款Winform应用编程框架和UI库介绍的主要内容,如果未能解决你的问题,请参考以下文章