Dirain的开源地带

思想在进步
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

简化开发的框架 "Custom"

Posted on 2008-10-23 19:30  Dirain  阅读(1952)  评论(9编辑  收藏  举报

     原谅我再次浪费首页的净土,我是想得到点大家的意见,如果觉得有问题,我马上撤下首页放新手区。

     最近一直想写个框架,可惜没有时间。框架的目的就是简化开发,解决一些繁琐的操作,封装一些实用的功能。

     现在把几个小功能封装了一下(针对WinForm),共享给大家,而且对框架如果有什么意见请留言提出。

     暂时解决问题如下:

     1.多窗口管理(应用程序启动时加载所有窗口实例,可以直接通过一个字符串操控窗体实例)

     2.保证窗口实例单一(每个窗口的实例只被加载一次,保证不会重复调用,浪费内存。)

     3.多窗体之间数据共享(在窗体1设定的一个值,在其他窗体同样可以得到)

     使用方式:

     1.每个窗体必须继承 Custom.BaseForm

     2.修改应用程序入口代码如下

 

Program

     在主窗体运行前需要加载所有窗体实例,并且设置应用程序的主窗体全类名(包括命名空间)

     只需要两个步骤就可以使用本框架,不需要做任何配置文件。

     Custom.BaseForm 中提供了一个静态属性BaseForms,类型Dictionary<string, BaseForm>,通过此属性可以得到一个窗体的实例,代码如下:

     

得到窗体实例

     通过一个字符串名称就可以得到一个实例,这样方便在应用程序中动态调用,而不是采用以往的硬编码方式。

 

     BaseForm类提供了setAttribute和getAttribute方法,setAttribute可以以键值对方式存储值,这个值可以在应用程序任何一个继承自BaseForm中被调用。代码如下:

 

Code

 

     存储键与值为Object类型,取值方式如下。

 

取值

 

     为了保证窗体实例的单一性,而且还能保证点击窗体退出(右上角的X)时能够及时释放资源,所以重写了System.Windows.Forms.Form的Dispose(bool disposing)方法。这样可以保证被Show出的窗体资源及时释放并且能够保证下次继续调用。而点击应用程序主窗体退出时则关闭应用程序。

 

     介绍写的比较粗糙,给大家发个使用例子,如果有问题和意见请留言!

     案例下载:https://files.cnblogs.com/dirain/CustomTest.rar

     意见反馈及扩展交流群:63864931