0

私の新しいautocadフォームのボタンをクリックしてクイック選択ダイアログを表示する方法を知っている人はいますか?

SendStringToExecute メソッドを使用していますが、ダイアログを閉じた後にコマンドを送信します

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

上記のコードは機能しません。すべてのおかげで誰でも助けることができます

4

2 に答える 2

1

これは不可能だと思います。モーダル ダイアログ ボックスが表示されている間は、コマンドを実行できません。

非表示 ( Editor.StartUserInteraction) にして、同期方法を使用して AutoCAD にコマンドを送信することもできますが (P/Invoke of などacedCmd)、試してみたところ、AutoCAD がクラッシュします。

通常、AutoCAD コマンドを呼び出すことはお勧めできません。.NET は AutoLISP ではありません。

QSELECT コマンドと同様のインターフェイスを実装して、ダイアログ ボックスから使用できます。

于 2015-10-06T07:41:54.193 に答える
0

_QSELECT の後にスペースを追加します。何かのようなもの:

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

または、独自の QSELECT インターフェイスを作成します。それもまた楽しいかも。

于 2015-10-21T15:14:30.667 に答える