2012-04-30 4 views
0

私は、メインアプリケーション(ESRIのArcMap)内でホスト/参照されるクラスライブラリとして構築した一連のツールを用意しています。私は保留中/編集されていない編集が保留されている間、ユーザーがメインアプリケーションでピンをプルできるケースを管理したいと思います。私は成功なしでApplication.ThreadExitイベントを処理しようとしました。 .Netのホスティングアプリケーションのクロージャにアクセスするためのベストプラクティスはありますか?これも可能ですか?vb.netクラスのlibaryツールをホストしているアプリケーションのクローズイベントをキャプチャするにはどうすればよいですか?

+2

これは実際にはアプリケーションで実装する必要があり、クラスライブラリでは実装しないでください。あなたのクラスライブラリが未完成のビジネス状態を取得するためのメソッドを提供している限り、それらを呼び出すための主なアプリケーションの責任がユーザにあります。なぜなら、未保存の仕事などで何をすべきかを整理します。クラスライブラリ? –

答えて

1

ArcMapで現在開いているドキュメントのイベントハンドラがあります。ここを見て:

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/BeforeCloseDocument_Event/000v000000pn000000/

あなたはBeforeCloseDocument_Eventに耳を傾け、(アプリケーションが閉じているときに、ドキュメントが閉じられる)決算書類のケースを処理するためにいくつかのロジックを開発することができます。

0

メインフォームが閉じられるまで典型的なWinFormsアプリケーションが終了しないので、クラスライブラリがホストアプリケーションのメインフォームFormClosingイベントを処理するようにすることができます。アプリケーションが終了しないようにするには、FormClosingEventArgsオブジェクトの「Cancel」プロパティをtrueに設定します。

関連する問題