老师们,您好,C#开发ORD UP5时遇到一个问题,自定义Toolsetting界面启动后,系统的Toolsetting(例如 选择元素)无法直接点击命令执行,必须将自定义的关掉后再启动才行,这是什么原因呢?
您如果想在您的Toolsetting界面里面进行元素选择等操作的话,可以继承一个DgnElementSetTool类,然后根据需要对元素进行操作。另外,我猜测AttachToToolSettings只能有一个ToolSetting。您试试创建一个非模态对话框,这样应该不会阻止其他窗口的弹出。
您参考下这个wiki:https://communities.bentley.com/communities/other_communities/chinafirst/f/microstation-projectwise/171983/ce-c-addin-demoform-modelless-dialog/495468#495468
老师好,我不是想在我的Toolsetting界面里面进行元素选择等操作,我只是希望我的Toolsetting界面显示时,单击系统自带的Toolsetting(例如 选择元素)命令时,可以直接逼退我的Toolsetting,而不用先关闭我的,再启动系统的。多了一步操作,很麻烦。
在MSCE下工作正常吗?如果也不正常的话,请参考郭老师的csAddins例子,其中在篇尾有源代码下载。
https://communities.bentley.com/communities/other_communities/bdn_other_communities/w/chinabdn-wiki/38463/7-microstation
我测试了上个帖子中提到的csAddins例子,是可以自动退出的。需要你在你的工具的OnCleanup中调用一下DetachFromMicroStation。估计您是忽略了这个。
protected override void OnCleanup() { m_myForm.DetachFromMicroStation(); }
符老师,您好,我这个没有继承DgnElementSetTool,只是继承了ADapter.
你不继承DgnTool如何写自己的工具呢?
OnCleanup(本工具结束时触发的事件)是基类DgnTool中的重载函数,你的TunnelFaceTool类的基类不是DgnTool吗?
没有,里面不涉及到交互,因此没有继承DgnTool,只是觉得ToolSetting窗口比较好,相比于Form,可以实时看到创建的效果。