话说大三刚结束,按照我们学校规定,开始了实习生活,然后在这里,第一次接触到了这个第三方控件:DevExpress。来到实习公司后,经理安排了一个师兄来负责带我,在经历了一段时间的基础知识的指导和巩固(如注释的规范....),以及帮忙测试bug之后,师兄扔给了我一个任务,自己去网上学习和研究DevExpress第三方控件,只留下一句以后用这个来做ERP开发......
然后,便开始了自学DevExpress,网上关于DevExpress的资料其实还算比较多,但是要想掌握好,很多时候还是得要到官网去,才能找到自己想要想要的东西。官网是个全英文外网,本人英语四级都还没过(追悔莫及....),然后硬着头皮凭借着自己的一点蹩脚英语水平以及借助翻译软件,去慢慢熟悉这套控件。
老实说,这套控件刚开始使用还是很费劲的,有很多设定vs自带的控件使用习惯很不相同,而且往往一个控件有一大堆属性,毕竟这套控件比较重量级。总之刚开始使用特不习惯,而且经常因为操作不当卡死vs。经过一段时间的摸索,总算是掌握了一点规律。后来一点点熟悉之后,越用越顺手,越用越觉得爽,这套控件的确是很强大。
在熟悉了一段时间后,师兄终于安排下了任务,要求完全用这套控件为公司开发一个宿舍管理系统(公司其实是个工厂,我是在这个公司的IT部门....),不能使用任何其他控件。于是,就这样,便在开发过程中进一步熟悉这套控件。下面就介绍下我参与开发的系统,分享下用这套控制做出的作品,希望有兴趣的可以去研究,扩充网上关于这方面的资料:
(1)设备管理
这里就说下DevExpress的GridControl控件,这个一个异常强大的表格控件,我使用到的知识它的普通形态,它还有很多强大的功能存在,比如可以设置炫酷的卡片形式。它可以轻松设置显示的格式,将单元格设置成单选框,下拉框,按钮等功能控件,并且自带分页功能等等,网上关于这个控件的资料还是很多的,所以学习这个控件不是很难。这个控件的属性很多,需要花点时间去研究,才能利用好这个控件。
(2)楼栋管理
做这个系统,我花在这个界面时间和精力上占了很大一部分。
先说画廊控件GalleryControl,顾名思义,就是一个个排列图片的控件,一般在设置窗体皮肤功能上利用到这个控件,我其他的随笔里面有提到。这里我用来自定义了一个楼栋模型。这个控件网上资料较少,比如如何代码添加图片,设置图片的停留提示,添加组等等,需要到官网是去翻。GalleryControl控件有个筛选组的功能,默认显示所有组,如果没汉化则显示成All Groups,属性可以设置成想要的,比如我这里是所有楼层,但是这样设置的话,不管你怎么筛选,他显示的都是所有楼层,而不是你筛选的组的名称,这里需要自己写代码控制。筛选效果如下:
右面用的是DockManager控件:
它能实现类似于vs2010查看属性一样的功能,可以自动隐藏起来,当鼠标移动到它上面后显示,选择停靠的地方,或者变成悬浮窗体状态。值得一说的是,要用代码控制他显示出来,需要注意一点,下面是我的代码:
dp_Room.Show();
dockManager1.ActivePanel = dp_Room;
其中dp_Room就是那个要显示的,可以设置多个这样的Panel。一定要先show,再设置当前活动的Panle是你想要显示的,步骤少了或者顺序错了都不行。
最后这个界面说下BarManager,就是这个:
可以轻松定制你的功能导航,但是,用起来就不是那么轻松了,相信用过的都知道,要理解它得费好大一番劲。刚接触的话会摸不着头脑,各种头疼,有点反人类的设定。
水电管理和宿舍管理两个模块都能体现下GridControl控件的强大,它能够轻松的分组显示,合并单元格等等。
总的来说,这套控件上手不是很容易,需要花点时间精力,但是当你掌握之后,你会惊呼他的强大,他能让你轻松实现很多优美的界面,很大程度上减少开发时间 ,大大提升开发效率。但是,也存在一些很别扭的设定,让你哭笑不得.......
来这里实习有三个多月了,在学习和使用这套控件的同时,让我对控件有了一些新的了解。由于实习工作还是有点忙的,这个小系统其实已经完成很久了,今天才有空分享出来,当然这个系统还有很多后续功能需要添加,只不过上头暂时没派下具体需求,现在在忙其他的。这里就简单说下总结,其实主要是想通过分享下作品,让还没接触过这套控件的人了解下这套控件的魅力。