2012-02-18 65 views
1

我想要它,所以当单击“x”按钮时会出现一个消息框,说“你确定要退出?”那么如果“是”则关闭,如果“否”则保持打开。所以我的代码是:关于窗体关闭事件我puzzeled

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”

回答

2

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

e.Cancel = True 

,你不必再做了Me.Close。一个更好的方式来写你如果块,简直是有:

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

感谢。我对此仍然很陌生。但我应该想到那个哈哈。我知道,编程的一切都必须被调用或设置,所有这一切。我认为最后的结果是足够好的。在光明的一面,我永远不会忘记这一点。非常感谢。 – james 2012-02-18 01:39:28

+0

是的,我意识到,我看到我的“是”按钮没有做任何事情,除了似乎正在重新启动弹出窗口。所以我改变了me.close了。但再次感谢。 – james 2012-02-18 02:00:27