我希望我的程序向用户显示一个msgbox,说明"你想再试一次吗?#34;如果bank = 0或200.用户选择是或否。这是我的代码:
If bank = 0 Or 200 Then
MsgBox("Would you like to try again?", MsgBoxStyle.YesNo, vbYesNo)
If MsgBoxResult.Yes Then
Application.Restart()
ElseIf MsgBoxResult.No Then
Me.Close()
End If
我的问题是当有人选择"否"该程序忽略了" Me.Close"而是重新启动该程序。
感谢帮助...
答案 0 :(得分:0)
(免责声明:我的回答可能有误,因为我不是VB开发人员。)
据我了解,MsgBoxResult.Yes
和MsgBoxResult.No
是常量。
MsgBoxResult.Yes
似乎在内部被定义为某种非零整数。所以第一个IF查询总是成功。
您必须获得MsgBox()
的返回值,其中包含用户点击的结果。然后将此返回值与常量进行比较。
dim MsgBoxResultQuery As MsgBoxResult
If bank = 0 Or 200 Then
MsgBoxResultQuery = MsgBox("Would you like to try again?", MsgBoxStyle.YesNo, vbYesNo)
If MsgBoxResultQuery = MsgBoxResult.Yes Then
Application.Restart()
ElseIf MsgBoxResultQuery = MsgBoxResult.No Then
Me.Close()
End If