海外旅行から帰ってきたら、まず何を食べる?

VB6 でプログラムを作成中です。

プログラムを実行して、フォームが立ち上がった所で右上の×を押し、画面を閉じようとします。
そこで以下のコードで、もし×が押されたらvbYesNoメッセージボックスを表示させ、もし「いいえ」が押されたらフォームを閉じないようにし、実行画面を維持したいのです。

しかし、Exit Sub ですとプログラムが終了してしまい、困っています。宜しくお願い致します。

Private Sub Form_Unload(Cancel As Integer) 'フォームを閉じる
Dim last As String
last = MsgBox(" プログラムを終了させますか?", vbYesNo, "終了確認1")

If (last = vbYes) Then
Dim last2 As String
last2 = MsgBox(" 本当にプログラムを終了させますか?", vbYesNo, "終了確認2")
If (last2 = vbNo) Then
Exit Sub
End If
End If

If (last = vbNo) Then
Exit Sub
End If

End Sub

A 回答 (1件)

とりあえずは Cancel = True とすれば終了のチャンセルは出来ると思いますがそれでは小回りがききません。



通常は
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
を使用します。

UnloadMode で Form を閉じる原因コードが把握可能です。
    • good
    • 0
この回答へのお礼

有難うございます。
とりあえずうまくいきました。

お礼日時:2008/06/11 13:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報