на закрытии формы я пуззелед - PullRequest
1 голос
/ 18 февраля 2012

Я хочу, чтобы при нажатии кнопки «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»

1 Ответ

2 голосов
/ 18 февраля 2012

Вы также должны установить свойство Отмена, чтобы отменить закрытие.В строке перед Exit Sub добавьте:

e.Cancel = True

, и вам не нужно делать Me.Close снова.Лучший способ написать свой блок If будет иметь:

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