博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CS 系统框架二
阅读量:5797 次
发布时间:2019-06-18

本文共 663 字,大约阅读时间需要 2 分钟。

自己一直想有一个完全属于自己的编程小框架,之前使用的方式是将每一个窗体文件都编译为一个DLL文件,在新建窗体的时候首先新建一个类,然后在这个类

里面新建窗体,编译之后就是一个DLL文件,最后通过一个函数去读取这个DLL文件里面的信息,包括窗体名称,版本等,最后将设个窗体Show出来,Show出来的时候是使用的WeifenLuo.WinFormsUI.Docking。看上去貌似没什么问题,但是每次New一个窗体的时候就要New一个对应的类,那么有几百个窗体呢?那项目将会大的惊人,所以放弃了这种做法,经过一段时间的构思,大致的框架结构出来了,我比较了一下,功能完全相同的两个项目,用之前的方法和我现在的方法相比较,前者的大小是后者大小的6倍。
首先我需要使用DockContent来实现窗体的停靠,其次我需要使用XtraForm的样式风格(IrisSkin2.dll真的是不好用,样式单调不说,应用了样式之后连控件的属性都设置不了了),大家都知道是不能多继承的,所以自己写一个类FrmBase,大致如下:

 

在每一个窗体文件里面都继承这个基类:

 public partial class FrmMain : Allen.FrmBase.DockContent
关键代码如下图所示:

 

以后如果做一些小型项目的话直接套用这个框架即可,只需要往里面增加窗体即可,在数据库里面保存一下对应的路径,前台便可以使用了,所有的数据操作都是用存储过程,如果数据有 异常只需要修改存储过程,不需要对客户端的程序进行修改再发布,维护起来方便很多。

 

转载地址:http://mhifx.baihongyu.com/

你可能感兴趣的文章
使用Numpy和Opencv完成图像的基本数据分析(Part II)
查看>>
Web 前端单元测试到底要怎么写?看这一篇就够了
查看>>
阿里云Serverless Kubernetes通过Ingress提供7层服务访问
查看>>
BLASTN参数研究记之max_target_seqs和num_alignments
查看>>
CentOS 7 配置部署SVN服务
查看>>
PHP 批量更新
查看>>
基于上下文无关文法的句子生成算法
查看>>
不一样的ZTree,权限树.js插件
查看>>
只用最适合的!全面对比主流 .NET 报表控件
查看>>
Spring IOC入门:从Hello world到Spring
查看>>
用gulp配合git进行一行命令代码打包并且部署上传
查看>>
spring-cloud-feign源码深度解析
查看>>
8个最高效的Python爬虫框架,你用过几个?
查看>>
fail-fast与fail-safe在Java集合中的应用
查看>>
Vue应用部署到服务器的正确方式
查看>>
WebPack + Vue打包流程理解
查看>>
JavaScript中的堆栈
查看>>
Vue 2.0 入门系列(2)列表
查看>>
什么是JavaScript 事件循环 ?
查看>>
cgi、fastcgi、jsp和asp
查看>>