2014-02-09 3 views
1

Я создал окно сообщения, которое спрашивает пользователя, хочет ли он закрыть приложение.Visual Basic MsgBox, выходящий

Я придумал этот класс:

Private Sub closeAll_Click(sender As Object, e As EventArgs) Handles closeAll.Click 
     MsgBox("Do you want to terminate the program?", MsgBoxStyle.YesNo, "Close?") 
     If MsgBoxResult.Yes Then 
      Application.Exit() 
     End If 
    End Sub 

Если я выбираю «Да», он отлично работает, как он выходит из приложения успешно. Но если выбрано «Нет», оно все равно будет закрыто. Действительно ли это нужно для заявления «Else»?

Если это так, я не знаю правильного кодирования, позволяющего программе «ничего не делать».

Может кто-нибудь помочь?

+0

Если MsgBox (..) = MsgBoxResult.Yes Then –

ответ

1

MsgBox() это функция, которая возвращает результат (MsgBoxResult перечислимую), так что ваш код должен быть:

Private Sub closeAll_Click(sender As Object, e As EventArgs) Handles closeAll.Click 
    If MsgBox("Do you want to terminate the program?", MsgBoxStyle.YesNo, "Close?") = MsgBoxResult.Yes Then 
     Application.Exit() 
    End If 
End Sub 

, как вы написали, вы берете значение перечисления MsgBoxResult.Yes и проверить, правда ли это. Это вызывает неявное преобразование в логическое значение, которое истинно, поскольку значение перечисления не равно нулю.

Смежные вопросы