- ベストアンサー
フォームを閉じないようにする
×ボタンを押したときに、ダイアログ(yes&no)を出して、noならばそのまま、yesならば終了、と言う形にしたいのですが、どうもうまくいきません。 どなたか教えてください。また、フォームのUnlordイベントは使えません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
2005でしたか・・・。 では、FormClosingを使ってみてください。 今後は質問時に開発環境を明記しておくと良いと思いますよ。 それが解決までの近道になるでしょう。
その他の回答 (3)
- asobe
- ベストアンサー率76% (10/13)
回答No1の777さんの回答では、失礼ですが不十分ですので、補足させていただきます。 メッセージに"いいえ"で答えた場合はCancelをTrueにしてあげないと、結局閉じてしまいます。 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MsgBox("終了します。よろしいですか?", vbYesNo Or vbInformation) = vbYes Then End Else Cancel = True End If End Sub なお、UnloadModeをMSDNなどで調べると分かると思うのですが、Windowsから閉じられるのか、×ボタンを押したのか等、の判定を行うことができます。
補足
バージョンが、Microsoft Visual Basic 2005 Express Editionですが、なぜかQueryUnloadもありません。
- 7_7_7
- ベストアンサー率24% (115/469)
フォームのUnlordイベントではなくQueryUnloadイベントを使えばいいですよ。
- 7_7_7
- ベストアンサー率24% (115/469)
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) aa = MsgBox("終了処理します。よろしいですか?", vbYesNo, "") If aa = vbYes Then End End Sub こんな感じで良いですか?
お礼
こちらの説明不足で^^;スミマセン。 無事に出来ました。どうもありがとうございました。