在前面几篇文章介绍我的Winform框架随笔文章,包括有《Winform开发框架之字典数据管理》、《Winform开发框架之权限管理系统》、《Winform开发框架之终极应用》,其中Winform开发框架之终极应用是集众多功能与一身,提供综合一站式、整体性的传统应用系统的开发框架,在此基础上开发新的业务系统,开发工作则是事半功倍,而且提供了高效、统一的界面布局以及支持多种数据库的数据访问层支持,提供了基于大量数据的数据分页解决方案,提供了传统Excel报表以及自定义模板的高级Excel报表的解决方案支持。我们先回顾一下框架的整体介绍图片。
基于上面的内容,我在之前《》中开发了一套基于传统界面的框架,如下所示:
这种界面是较为传统的界面框架,统一性及美观性都是比较标准的Winform界面,由于本人之前研究开发过基于DotNetBar框架的Office Ribbon样式的Winform界面,详细可以参考文章《如何使用dotnetbar控件来构造多文档界面》 ,因此本人想把这些界面样式整合到我的Winform开发框架中,作为另外一种界面样式的Winform开发框架。经过周末不少时间的整理改造,成功改造原有传统的Winform开发框架界面,界面效果如下所示:
另外编辑界面也适当调整为:
以上界面样式和传统的界面开发框架有不少的差别,通过利用Office2007 Ribbon样式,可以放置更多的功能按钮,并像Office2007那样,可以折叠起来更有效利用界面空间,而且也能够给用户较为绚丽的界面,使得你的应用程序在客户中获得较高的印象分数。
整个界面工程如下所示:
虽然使用了基于DotNetBar控件改造了Winform界面,但是和之前的开发框架,界面之间的继承关系并没有变化,都是遵循下面的原则:
1、停靠在主窗体中的界面继承自基类BaseDock;
2、弹出的普通窗体,继承自基类BaseForm;
3、弹出的数据编辑窗体,继承自BaseEditForm,而BaseEditForm继承自BaseForm。
通过不同的继承基类,我封装了不同的处理函数,节省了子类的重复代码,并增强了Winform界面的统一性、良好封装性、良好可操作性。
下面总结几个界面改造过程中注意的事项:
1、如果是从已有Winform窗体中转换的话,需要把原有的TextBox控件、Label控件、ComboBox控件调整为TextBoxX、LableX、ComboBoxX控件外,还需要修改TextBox的Border.Class为TextBoxBorder(默认添加的TextboxX控件有该样式),否则样式没有边框,不好看;ComboBoxX控件的DrawMode修改为OwnerDrawFixed,否则同样没有边框,不好看。另外,如果Label或者文本控件的背景色存在白色,通过选定控件,拉动一下即可解决该问题。
2、虽然窗体集成自Office2007Form,界面已经有一些Office的界面效果了,不过为了好看,最好在窗体界面中添加一个PanelEx这样的控件,界面尽可能不要GroupBox控件,而是用PanelEx这样的控件来代替,这样效果好一些。
3、布局使用DotNetBar控件中的Bar控件或者Tab控件来替代原有的Weifenluo控件,这样整体性会好一些。
4、封装Bar控件,使之在创建窗体的时候,更加方便,而不需要更多的代码,如在主窗体中增加一个窗体,代码如下即可:
SetMdiForm(new FrmItemDetail(), "备件信息");
5、利用DataGridViewEx来替换默认的 DataGridView控件,整体效果也会更加好一些,用法是一样的。
基于Dotnetbar的Office2007最新Winform框架程序,
可以从网站地址http://www.iqidi.com/download/warehouse/Device_DotNetBar.rar下载
本文转自博客园伍华聪的博客,原文链接:Winform开发框架之Office Ribbon界面,如需转载请自行联系原博主。