有誰知道如何通過點擊我的新autocad窗體上的按鈕來顯示快速選擇對話框。AutoCAD C#從新窗體中調用快速選擇對話框
我用SendStringToExecute的方法,但它發出的命令後,關閉該對話框
AcadApp.DocumentManager.MdiActiveDocument.SendStringToExecute("__QSELECT", true, true, false);
上面的代碼沒有作用,任何一個可以幫助 感謝所有
有誰知道如何通過點擊我的新autocad窗體上的按鈕來顯示快速選擇對話框。AutoCAD C#從新窗體中調用快速選擇對話框
我用SendStringToExecute的方法,但它發出的命令後,關閉該對話框
AcadApp.DocumentManager.MdiActiveDocument.SendStringToExecute("__QSELECT", true, true, false);
上面的代碼沒有作用,任何一個可以幫助 感謝所有
我覺得這是不可能的。顯示模態對話框時不能運行命令。您可以嘗試隱藏(Editor.StartUserInteraction
)它並使用同步的方式向AutoCAD發送命令(如P/Invoke的acedCmd
),但我試過了,它使AutoCAD崩潰。
通常,調用AutoCAD命令是一個壞主意。 .NET不是AutoLISP。
您可以實現類似於QSELECT命令的界面,並在對話框中使用它。
即使你找到了一種方法來做到這一點,我會很驚訝,如果它是健壯的。根據我的經驗,這種事情會導致各種神祕的崩潰和奇怪的無法解釋的錯誤。 –
在_QSELECT之後添加空格。例如:
Document autocadDocument = autocadDocumentManager.MdiActiveDocument;
autocadDocument.SendStringToExecute("_QSELECT ", false, false, true);
或者創建自己的QSELECT接口。這可能也很有趣。
AutoCAD的版本? – Maxence
你必須首先隱藏表單,因爲我假設它是模態的。 – Miiir
Autocad 2014 @Maxence –