2012-01-13 27 views
3

私の最初の投稿、優しい!AutoCAD .NET API - 閉じるpallete/window/user controlコマンドを中断する

私自身のユーザーコントロールを開発していて、私の人生の中で、自分のユーザーコントロールを閉じて、ユーザーコントロールで閉じることができます。

ここではわかりやすくするためにキャプチャを示します。ウィンドウには、ユーザーがちょうどワイプツールを閉じて、実行せずに運ぶことができる場合ので、私は、モデル空間の後ろに隠れて、私自身の層の数をクリアする必要が閉じ

http://imgur.com/q1yDU

基本的に前にその原因になるだろう最終的に新しいオブジェクトの追加/保存などの問題が発生します。私は確かに、ユーザーがUCの「ワイプ」ボタンをクリックして終了する前に、問題を尋ねるだけでよいと信じていません。

私の質問は次のとおりです。APIでユーザーコントロールを閉じるコードを探していますか?

答えて

3

「X」マークをクリックするとAcadパレットは実際には閉じられません。彼らはちょうど隠されている。 PaletteState::StateChangedイベントをお試しください。パレットセットを閉じるときにトリガされる可能性があります。そのイベントの代理人を登録し、それが呼び出されたかどうかを確認するだけです。うまくいくかもしれない。

* EDIT * 今、私はそれについて多くを考えることを、あなたはあなたのカスタムコントロールのControl.VisibleChangedイベントにデリゲートを登録することによって、そのイベントをキャッチすることができるはずです。あなたが子としてPaletteSetに追加するもの。それはうまくいくはずです。

+0

本当に、私が投票することができたら、私はそうするでしょう! – RobG

1

これは答えよりも多くのコメントですが、私はそれがコメントには大きすぎるのではないかと懸念しています。思考のための食べ物がいくつかあります。私はできるだけ優しくしようとしますが、私の優しさを知っている人の中には知られていません....)

私はあなたがこれについて..建築的に理想的ではない。あなたの質問には、モーダル操作(コマンド - 表示ダイアログ - ダイアログを閉じるダイアログを使用)を実行したいが、モードレス(潜在的に常にオン)のGUI要素(PaletteSet)を使用していることが示唆されます。

あなた自身に尋ねましたか?ユーザーがダイアログを閉じないとどうなりますか? PaletteSetには、そのオプションがあります。その場合、あなたの「ワイプ」は決して実行されません。それはまた、問題を引き起こすでしょうか?

「私がやっている仕事には、PaletteSetは正しいツールですか?」と尋ねることをお勧めします。私はあなたの説明とスクリーンショットから仕事と仕事の流れを推測しているに過ぎませんが、私が心配しているのは私の心配です。実際にここで使用したいのは、現在PaletteSetを起動している任意のメカニズムから起動された単純なモーダルフォームで、ユーザーがOKボタンをクリックして解除してから、OKハンドラで「ワイプ」することです。

PaletteSetを使用している理由は、ユーザーがアクティブな間に図面とやりとりする必要があるためです。モーダルダイアログを外してエンティティを選択できるようにする方法や、必要なもの。モデルレスPaletteSetがアクティブな間、ユーザーは文字通り他の図面を開いたり、エンティティを描いたり、他の図面を参照したり、他のコマンドを実行したりすることができます。ダイアログに柔軟性が必要ですか?それは、すべてのそれらの状況で適切に処理する準備ができていますか?

あなたの状況を完全に誤解したとしても、これは何らかの役に立ちましたことを祈っています。

+0

それは思考のための食糧であり、私はあなたのコメントのためにあなたに感謝します。私はちょうどすべての提案やアドバイスを歓迎するためにAutoCADのAPIに私の歯を取得し始めている。経験豊富なユーザーの場合は、特に書籍の推奨事項を参考にしてください。 – RobG

+0

私は本の推薦を求めて間違った人です。私はACAD API上に1つしか持っていないと思います。私が知っているほとんどのものは、激しいノックや欲求不満の学校から来ています:) –

+0

あなたはおそらくすでにこのことについて知っていますが、その場合には、私が全員に推薦する本は[Code Complete](http://cc2e.com /)。また、私はあなたの質問をupvotedので、今upvoteするのに十分な担当者を持つ必要があります。 –

関連する問題