2015-10-04 34 views
0

有誰知道如何通過點擊我的新autocad窗體上的按鈕來顯示快速選擇對話框。AutoCAD C#從新窗體中調用快速選擇對話框

我用SendStringToExecute的方法,但它發出的命令後,關閉該對話框

AcadApp.DocumentManager.MdiActiveDocument.SendStringToExecute("__QSELECT", true, true, false); 

上面的代碼沒有作用,任何一個可以幫助 感謝所有

+0

AutoCAD的版本? – Maxence

+0

你必須首先隱藏表單,因爲我假設它是模態的。 – Miiir

+0

Autocad 2014 @Maxence –

回答

1

我覺得這是不可能的。顯示模態對話框時不能運行命令。您可以嘗試隱藏(Editor.StartUserInteraction)它並使用同步的方式向AutoCAD發送命令(如P/Invoke的acedCmd),但我試過了,它使AutoCAD崩潰。

通常,調用AutoCAD命令是一個壞主意。 .NET不是AutoLISP。

您可以實現類似於QSELECT命令的界面,並在對話框中使用它。

+0

即使你找到了一種方法來做到這一點,我會很驚訝,如果它是健壯的。根據我的經驗,這種事情會導致各種神祕的崩潰和奇怪的無法解釋的錯誤。 –

0

在_QSELECT之後添加空格。例如:

Document autocadDocument = autocadDocumentManager.MdiActiveDocument; 
autocadDocument.SendStringToExecute("_QSELECT ", false, false, true); 

或者創建自己的QSELECT接口。這可能也很有趣。

相關問題