Visual Studio 2008 IDEでエディタウィンドウ(タブ)を閉じるイベントをキャプチャします。 Iはdte2.Application.Events.get_CommandEvents(NULL、0).BeforeExecute Iうまく取り込まれ、このようなイベントを使用する場合:キャプチャウィンドウのクローズイベント
- File.Close
- File.CloseAllButThis
- File.Exit
- をWindow.CloseDocumentWindow など。
ウィンドウ内のコードが受け入れられない場合は、イベントを停止します(CancelDefault = true)。
しかし、右側の「X」ボタンをクリックすると、「変更を保存」。ダイアログが表示され、 エディタウィンドウが閉じているタブが表示され、キャプチャされたイベントはありません。この場合、私はWindowClosingイベント をキャプチャできますが、イベントをキャンセルすることはできません。
「x」ボタンのクリックとストップイベントを処理するのは簡単ですか?
[X]をクリックしても[変更を保存]が表示されない場合でも問題は解決しますか? –
「変更を保存」ダイアログメソッドで検証などを行っていない理由はありますか? 一般的に、ウィンドウクローズイベントで変更がチェックされ、「変更を保存」プロンプトが表示されます。検証が成功し、保存が成功した場合はTrueを返し、検証が失敗した場合はFalseを返します。その後、その値はウィンドウクローズイベントハンドラに返され、Trueを返して閉じるそれを拒否して何もしません。 – ewall