AutoCAD中我们首先需要跟用户之间有交互界面。有了这些交互界面,再去做AutoCAD具体功能的开发,效果会更理想。

昨天我们学习了Application对象的使用方法,分别是修改标题和输出提示信息。今天我们再学习AutocAD如何通过Application对象加载非模态窗口(漂浮在AutoCAD上面,不影响功能操作的窗口)。借助非模态窗口,我们可以很友好的与用户进行信息的交互。

把 Day4 的文件夹复制一个,改名Day5

把Day4.csproj改名为 Day5.csproj

然后打开解决方案CadStudy.sln,在解决方案上点击右键,出来菜单,选择”添加“,”现有项目“,如下图

在弹出对话框,我们可以用默认的名字 Form1.cs ,当然也可以改成其他名字,保持扩展名是 cs 就可以了

选择我们双击 Day5 项目中的 Init.cs ,把里面多余的代码先删除,如下图

接下来我们要引用一下必须的程序集: PresentationFramework和 WindowsBase

之后,我们就可以写代码了,AutoCAD调用非模块窗口代码很简单。如下图:

可以编译生成DLL文件了,方法同以前:菜单里面找“生成”,“生成Day5"

打开 AutoCAD ,运行 Netload 加载我们编译好的 CadStudy.dll,注意路径要选对了。运行 命令 ”Modeless“, 成功后就出现如下效果:

非模态窗口可以是一直漂浮在AutoCAD主窗体之上的,不影响我们在CAD中进行操作,这就提供了一个很好的与用户交互的窗口。这个窗体一般是做Winform或者wpf的,不过我更喜欢嵌入一个浏览器,这样界面可以用HTML+CSS的形式了,要多漂亮就可以多漂亮。这个可以以后再开个文章来具体说说。非模态窗体,和Window窗体是一样的,可以根据需要任意设置它的属性,比如说是否在任务栏中显示等。

东西都挺简单的,希望你能看懂,如果有问题可以根据文章下方方式联系我。

高级结构工程师、高级程序员权威解答程序开发疑惑

往期导读

每天进步一点点