关于表格结束活动我感到困惑

时间:2012-02-18 01:27:09

标签: vb.net messagebox formclosing

我想要它,所以当点击“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 个答案:

答案 0 :(得分:2)

您还必须设置取消属性以取消关闭。在Exit Sub之前的行上,添加:

e.Cancel = True

你不必再做Me.Close了。编写If块的更好方法就是:

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