原谅我再次浪费首页的净土,我是想得到点大家的意见,如果觉得有问题,我马上撤下首页放新手区。
最近一直想写个框架,可惜没有时间。框架的目的就是简化开发,解决一些繁琐的操作,封装一些实用的功能。
现在把几个小功能封装了一下(针对WinForm),共享给大家,而且对框架如果有什么意见请留言提出。
暂时解决问题如下:
1.多窗口管理(应用程序启动时加载所有窗口实例,可以直接通过一个字符串操控窗体实例)
2.保证窗口实例单一(每个窗口的实例只被加载一次,保证不会重复调用,浪费内存。)
3.多窗体之间数据共享(在窗体1设定的一个值,在其他窗体同样可以得到)
使用方式:
1.每个窗体必须继承 Custom.BaseForm
2.修改应用程序入口代码如下
在主窗体运行前需要加载所有窗体实例,并且设置应用程序的主窗体全类名(包括命名空间)
只需要两个步骤就可以使用本框架,不需要做任何配置文件。
Custom.BaseForm 中提供了一个静态属性BaseForms,类型Dictionary<string, BaseForm>,通过此属性可以得到一个窗体的实例,代码如下:
通过一个字符串名称就可以得到一个实例,这样方便在应用程序中动态调用,而不是采用以往的硬编码方式。
BaseForm类提供了setAttribute和getAttribute方法,setAttribute可以以键值对方式存储值,这个值可以在应用程序任何一个继承自BaseForm中被调用。代码如下:
存储键与值为Object类型,取值方式如下。
为了保证窗体实例的单一性,而且还能保证点击窗体退出(右上角的X)时能够及时释放资源,所以重写了System.Windows.Forms.Form的Dispose(bool disposing)方法。这样可以保证被Show出的窗体资源及时释放并且能够保证下次继续调用。而点击应用程序主窗体退出时则关闭应用程序。
介绍写的比较粗糙,给大家发个使用例子,如果有问题和意见请留言!
案例下载:https://files.cnblogs.com/dirain/CustomTest.rar
意见反馈及扩展交流群:63864931