Bentley Communities
Site
Search
User
Site
Search
User
Welcome to Bentley Communities
Bentley's Communities
Bentley 中国优先社区
Cancel
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
我发现了一个MSCE的操作问题,点叉号,命令并没有结束。
Sign In
Bentley 中国优先社区 requires membership for participation - click to join
State
Verified Answer
Replies
4 replies
Subscribers
81 subscribers
Views
1079 views
Users
0 members are here
microstation connect二次开发
c#
我发现了一个MSCE的操作问题,点叉号,命令并没有结束。
Offline
庆彬 苏
over 3 years ago
是bentley故意这样设计的,还是没有做好?
如果想达到这种效果,在编程的时候应该如何处理?我用的是c#,自定义的命令继承于GeometryCommand
Top Replies
Offline
Xiaoqi Zhang
Sun, Feb 7 2021 1:01 AM
+1
verified
在mdl编程中,一般点叉号只是会关闭当前工具的这个dialog,可以通过给对话框设置有个钩子函数(HOOK)然后通过判断窗口状态,在窗口销毁的消息里面添加工具退出(_ExitTool)。C#如果是Winform的话也有这样的功能把。
Offline
Xiaoqi Zhang
Sun, Feb 7 2021 1:28 AM
in reply to
庆彬 苏
+1
verified
这块应该没有办法。
Offline
Yongan.Fu
Sun, Feb 7 2021 2:38 AM
+1
verified
庆彬 苏 said: 是bentley故意这样设计的,还是没有做好? 当然是故意这样设计的。您如果使用惯了单任务模式,可能会对MS的这种工作方式不太适应。其实,MS或ORD的这种工作方式是特意设计的。被称之为事件驱动(Event Driven),这也是Windows现代编程的基础。 MS中的每个命令都是执行一小段自己的工作后马上把控制权交回给MS。当与该命令相关的事件再次发生时,响应的代码段又会被执行…