在用C#传递KEYIN命令MODEL ACTIVE model1的时候,若存在没有更新的情况,会弹出提示框:
要怎样关闭这个提示框呢?
已经尝试过实现一个: IModalDialogEvents,然后在里面实现函数OnDialogOpened。
public void OnDialogOpened(string DialogBoxName, ref MsdDialogBoxResult DialogResult) { DialogResult = MsdDialogBoxResult.OK; }
在方法中调用application.AddModalDialogEventsHandler(kic);添加,但是没有效果。是不是警告对话框不属于ModalDialog?可用什么办法关闭这个警告呢?
application.AddModalDialogEventsHandler(kic);是在什么时候执行的?C#传递KEYIN命令MODEL ACTIVE model1之前么?
是的,在传递keyin命令之前执行的。然后在传递完keyin命令之后,又调用了application.RemoveModalDialogEventsHandler(kic);
发送的keyin命令只有在当前的命令执行完以后才会去执行,您发送MODEL ACTIVE model1之后,立马就Remove,那不是执行MODEL ACTIVE model1的时候就没有了嘛,您可以发送两条keyin命令,在第二条里边去remove掉ModalDialogEventsHandler
MS学习资源:
MicroStation Wednesday视频分享
深入探讨MicroStation DGN基本概念系列
一步步学习MicroStation CE Addin开发
一步步学习MicroStation CE MDL开发
Answer Verified By: 徐 明卉
改换了remove的位置以后生效了