ふぢのVB小技集

プログラムの終了をキャンセルしたい。

(質問)
フォームの終了(×)ボタンを押されたときにプログラムを終了させないことはできますか?



(回答)
FormのQueryUnloadイベントを使用します。



(解説)
フォームがクローズされる直前にQueryUnloadイベントが発生しますので、その中でプログラムの終了をキャンセルします。

FormのQueryUnloadイベントプロシージャに以下の処理を追加する
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

    'ユーザーが'閉じるボタン'を押したか
    If UnloadMode = vbFormControlMenu Then
        'プログラムの終了を中断する
        Cancel = True
    End If

End Sub


QueryUnloadイベントのUnloadModeパラメータには、vbFormControlMenu以外にもたくさんあります。詳しくはVisualBasicのヘルプを参照してください。



戻る