2009-05-01 39 views
1

ユーザーが閉じるボタンを押したときに発生するイベントはありますか?WPF:ユーザーが閉じるボタン[X]を押したときに発生するイベントはありますか?

これは、ウィンドウを手動で(Closeメソッドで)閉じるときと、ユーザーが[X]ボタンを押したときの両方でWindows Closingイベントが発生するためですが、何らかの理由でユーザーウィンドウを手動で閉じたときに[X]ボタンを押さないでください。

答えて

2

私はWPFでそれらを区別する方法があるとは思わない(私は肯定的ではないが)。

私はいつもWinFormsでそれを処理する方法は、メンバ変数 "_Closing"を作成し、それをfalseに設定し、 "Closed"をtrueに設定し、Closeを呼び出すメソッドReallyClose()を作成することでした。 _Closingがtrueに設定されていない場合、My Closingハンドラは閉じるをキャンセルします。

ええ、ちょっとハックですが、うまくいきました。

0

私はまた、それらを区別する方法はないとも思います。あなたはApplication.Exitイベントにハンドラを置くことができますが、それは「赤い閉じるXボタン」と「クローズALT-F4」(またはそれに近いのどんな他の種類は、あなたが検討している)を区別しません。

あなたがApplication.Exitをチェックする場合は、Application.SessionEndingも確認してください。アプリの実行中に誰かがログオフすると、Application.Exitが呼び出されることは保証されません。ウィンドウを終了する場合はfalse真の使用e.Cancel =であれば

0

ボタンをクリックするので、あなたのクラスにキャンセル名前のボタンを配置し、ブール変数にしてくださいが真とクロージングイベントチェック中にそれを設定し、私はすべてのものとそれを試してみました私のためには動作しませんし、私はこの方法で行います。また、いくつかの情報を挿入する場合は、[キャンセル]ボタンを受け入れるだけでXボタンを削除できます。

関連する問題