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”

4

1 回答 1

2

您还必须设置 Cancel 属性来取消关闭。在前一行Exit Sub,添加:

e.Cancel = True

并且您不必再次执行 Me.Close。编写 If 块的更好方法是:

a = MessageBox.Show(....)
If a = DialogResult.No Then
    e.Cancel = True
End If
于 2012-02-18T01:35:20.743 回答