Bentley ORD(openroads designer) 二次开发(BIM)第四节 界面设计
导语
通过前几次的分享,朋友们应该对Bentley ORD(openroads designer)的二次开发有了一定的理解,想必自己写了一些小方法,但为了不逼迫我们的用户写命令行调用方法,就只能搞几个小界面儿了,那么这次就分享一些窗体的开发吧。
1.窗体创建
注,如果您已经有winform的窗体开发经验,请跳过此节,前往第二节。
repeat ↓
FBI Warning 你要是会玩儿winform窗体,直接下一位
好的,现在剩下的应该是真的新人了,可以开始一本正经的胡说了。个人感觉呢,winform的项目做界面是最友好的,不像H5什么的,每个控件都是用对应"tag"代码写上去,有点像C++的QT,通过拖拽组件,绑定事件,最终实现各种交互的功能。所以有一说一,即使是没有任何开发经验的朋友应该都能非常快的上手,大家放轻松,小老弟儿上几个小例子,大家随意感受一下。
1.1 选择控件
首先呢,随便建一个窗口,在左边的工具箱里像选择你的partner一样找到你中意的控件,当然了,如果有的朋友说找不到工具箱,那自行百度一下吧(手动狗头)。
我呢,先挑了一个文本框,和一个按钮,点击也可以,拖拽也可以,把它们放到form窗体中你觉得合适的位置。
1.2 编辑控件
接着单击控件,在右下的属性窗口里就可以编辑它的各项属性了,改改名字啊,改改大小啊,展示位置啊,基本上属性功能都能跟据它标题的字面意思理解,如果需要查的话,一个当然是可以查官方文档,第二个网上随便搜一下,讲控件功能和使用的好文章很多,比如这位老哥的
常用控件的使用(期间参杂着VS快捷键/常用设置)
作为示例,我就改一下名字吧。
1.3 代码控制
好的!我们完成了一个复杂困难的界面了!(可以准备奖励自己一杯咖啡,点个外卖不过分的)
然后!我们模拟这样的一个场景:
点击刚才的按钮,把文本框中的文字取出来,给到一个变量。
有的铁子们就问了,我的代码写在xxx.cs里,我在写的时候咋控制你介个界面里的控件呢。那么我们就切回代码的部分
诶!不对!不对奥!有的朋友们发现了,你红框里那段儿我代码里没有啊,是,我刚修改控件属性的时候顺手双击了一下那个按钮,就有了这一段代码,
private void btn_test_Click(object sender, EventArgs e)
{
}
这时候暂停一下,回看一下界面,属性框里的闪电是这个控件绑定的各类事件,我们通过双击把“click”操作与“btn_test_Click”方法挂接在一起了,(有点儿qt信号和槽那味儿),当然我们也可以先写好方法,再翻过来在这里手动挂接,大家试一试就可以轻松上手。
那么,回到我们的场景,点击按钮,把文本框中的文字取出,赋给某个变量,就是这一句代码
string all4Uguys = tb_example.Text;
控件“tb_example”的“Text”值取出来,赋值给左边的“all4Uguys”变量。
我们预设的场景完美实现。
2.界面风格Ord化
首先恭喜跳过第一部分的朋友们空降成功。
从第一部分看过来的朋友们呢,你们现在也是有丰富开发经验的人了,面个大厂问题不大(再次狗头),大家进度一致,来看如何吧普通的winform窗体风格Ord化。
进入正题,我们先来看一下,普通winform窗体(左)和ord里面的窗体(右)分别长什么样子:
最明显的(其实也是我目前唯一发现的,小声bb),窗体的Icon不一样,那么,为了保证整体界面风格的统一,我们可以在开发好的普通的Form上修改一下form所继承的类,把Form改成Adapter。
注:想用Adapter要引用这个 namespace奥
Bentley.MstnPlatformNET.WinForms;