2012-02-18 12 views
1

「x」ボタンをクリックすると、「本当に終了しますか?」というメッセージボックスが表示されます。 「はい」の場合は閉じ、「いいえ」の場合は開いたままにします。だから私のコードは:フォームクローズイベントで私は困惑しています

Dim a As Integer 
a = MessageBox.Show("Are you sure you want to exit?", _ 
        "Vice Versa 1.0", _ 
        MessageBoxButtons.YesNo, _ 
        MessageBoxIcon.Information) 
If a = vbYes Then 
    Me.Close() 
Else 
    Exit Sub 
End If 

これはいいですか?私のプロジェクトをデバッグするときに "いいえ"をクリックすると、私のプログラムは終了します。これは単にデバッグモードになっているのか、ここに何か不足していますか?

(編集済み)警告またはエラーもありません。

メッセージボックスに表示されたときにゲームが一時停止する方法はありますか?ユーザーがキーボードの「p」を押しても、私はそれを働かせるだけです。また、 "p"を押さずにメッセージボックスが表示されたときにゲームを一時停止したい場合もあります。

答えて

2

閉じるをキャンセルするには、Cancelプロパティを設定する必要があります。

e.Cancel = True 

を、あなたは再びMe.Closeを行う必要はありません。Exit Sub前の行に、追加します。 Ifブロックを書くより良い方法は、単純に次のようにすることです:

a = MessageBox.Show(....) 
If a = DialogResult.No Then 
    e.Cancel = True 
End If 
+0

ありがとう。私はまだ非常にこれに新しいです。しかし、私はその笑を考えていたはずです。私はすべてをプログラミングすることが求められているか、それを設定していることを知っています。私はエンド・サブが十分だと思った。明るいところで、私はそれを決して忘れないでしょう。ありがとう、たくさんの男。 – james

+0

はい、私は私の "はい"ボタンがポップアップを再起動しているようなもの以外は何もしていないのを見た後に気づいた。だから私はすでにme.closeを変更しました。しかしもう一度ありがとう。 – james

関連する問題