博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Winform开发框架之Office Ribbon界面
阅读量:6317 次
发布时间:2019-06-22

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

在前面几篇文章介绍我的Winform框架随笔文章,包括有《》、《》、《》,其中Winform开发框架之终极应用是集众多功能与一身,提供综合一站式、整体性的传统应用系统的开发框架,在此基础上开发新的业务系统,开发工作则是事半功倍,而且提供了高效、统一的界面布局以及支持多种数据库的数据访问层支持,提供了基于大量数据的数据分页解决方案,提供了传统Excel报表以及自定义模板的高级Excel报表的解决方案支持。我们先回顾一下框架的整体介绍图片。

  

 基于上面的内容,我在之前《》中开发了一套基于传统界面的框架,如下所示:

 

这种界面是较为传统的界面框架,统一性及美观性都是比较标准的Winform界面,由于本人之前研究开发过基于DotNetBar框架的Office Ribbon样式的Winform界面,详细可以参考文章《》 ,因此本人想把这些界面样式整合到我的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框架程序,

可以从网站地址下载

本文转自博客园伍华聪的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
打豪车应用:uber详细攻略(附100元优惠码)
查看>>
CSS3系列教程:HSL 和HSL
查看>>
RS开发日期提示控件默认为昨天之进阶篇
查看>>
CentOS7区域设置
查看>>
Html 定位position
查看>>
关于论文检索的几点知识
查看>>
2015 UESTC 搜索专题K题 秋实大哥の恋爱物语 kmp
查看>>
解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介
查看>>
答辩的一般流程、技巧和常见问题
查看>>
杭电1171 Big Event in HDU(母函数+多重背包解法)
查看>>
STM32 USB 问题汇总(转)
查看>>
android的onCreateOptionsMenu()创建菜单Menu详解
查看>>
js swipe 图片滑动控件实现 任意尺寸适用任意屏幕
查看>>
截取字符串替换成星号
查看>>
Kinect for Windows V2.0 新功能
查看>>
解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象...
查看>>
PHP 错误与异常 笔记与总结(17 )像处理异常一样处理 PHP 错误
查看>>
算法-数组中重复的数字
查看>>
Linux下samba的安装与配置
查看>>
分析Cocos2d-x横版ACT手游源 1、登录
查看>>