首页 > 学院 > 开发设计 > 正文

基于C#的Skyline二次开发成果总结【1】——界面设计

2019-11-06 08:06:24
字体:
来源:转载
供稿:网友

1.项目介绍

        简单介绍一下,项目名称是XX流域高分航空影像获取与数字平台系统。导师接的横向项目,除了数据采集基本由我一个人完成(==)。所谓高分航空影像是最近比较火的无人机倾斜摄影建模,而数字平台系统就是基于Skyline的Winform小系统。前后历时半年也算有了些小成果,先给大家看一眼目前的成果:

登陆界面还比较简陋,结题之前还要抢救下

三维模型展示成果

        整个项目的流程图与数据处理流程如下图所示,前面的数据处理与测绘专业相关,离系统开发有点远了,后面再写。

项目申请书里的项目流程图

基于SKyLine的数据处理流程,参考了Skyline的官方手册自己重绘的

       接下来主要介绍一下桌面端的系统开发工作,基本框架是WinForm+DotNetBar+SQLServer2008R2(ArcSDE)+ArcEngine10.2+Skyline6.6。因为关于SQL、ArcEngine开发的资料很多,而关于Skyline的二次开发资料少之又少(JS的为主),所以接下来会着重介绍一下基于C#语言的SkylineGlobal6.6的二次开发流程。首先介绍一下系统搭建的思路:

2.系统界面设计:

       常用的WinForm界面控件有Skyline官网有DevExPRess、Infragistics、DotNetBar等。综合考虑了一下运行效率与易用性,我选了DotNeBar。基于DotNetBar的教程百度一下都有。官网http://www.devcomponents.com/dotnetbar/有一些不错的小例子可以down下来学一下。DotNetBar的界面风格常用的有Win7  Aero(透明玻璃)与Win8  Metro(扁平化),如下所示:

                                                   Aero透明玻璃效果                                     Metro扁平化效果

        单看的话似乎右边的Metro效果要好些,可实际上推荐使用Aero,因为Win8的效果有一些缺陷,包括子窗口的继承问题,边框缝隙填不满(逼死强迫症)等等,当然我用的DotNetBar版本是10.5,现在的版本可能把这两点完善了,大家也可以用下试试。

      在VS中使用DontNetBar的步骤很简单,安装破解后在右边工具箱直接往WinForm上拖动就可以了,有几点需要注意的:

      1.SystemManager控件可以直接改变RibbonControl、TabControl、SuperTabControl的风格与颜色,但是对Button类效果不好,建议ButtonX自己调整参数。

      2.编译运行后如果窗口效果没有改变添加一条语句this.EnableGlass = false;

      我选择的控件以及排版如下图所示:

       RibbonControl是容器性质的控件,可以通过添加RibbonBar上的ButtonItem实现按钮操作。而TabControl与SuperTabControl都提供了一个Tab功能,方便切换标签页,可在标签页中继续添加不同的控件(我分别添加了二维GIS和三维GIS的控件),实现一键点击切换标签页的功能,类似浏览器的切换,非常方便。

       就先写这么多啦~具体怎么美化控件可以慢慢摸索~我也在探索中得意


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表