2013-02-20 37 views
0

有没有方法可以更改(x)按钮的命令?以窗口形式更改关闭按钮

我想显示另一个窗体并隐藏当前窗体而不是关闭程序。

我应该把这个放在哪里? :

Me.Hide() 
Form.Show() 

我试着把它放在表格闭合/闭合事件上,但没有发生,我错过了什么?

+0

您可以显示您在关闭/关闭事件中尝试的代码吗? – 2013-02-20 15:41:27

+0

“我错过了什么” - “e.Cancel” - 参见Hans Passant的回答。 (但请注意他写的内容:“你必须让你的用户终止应用程序”!) – ispiro 2013-02-20 16:58:33

回答

2

当然,FormClosing事件是为了做到这一点。你需要注意的形式被关闭的原因,是这样的:

Protected Overrides Sub OnFormClosing(ByVal e As FormClosingEventArgs) 
    MyBase.OnFormClosing(e) 
    If Not e.Cancel AndAlso e.CloseReason = CloseReason.UserClosing Then 
     e.Cancel = True 
     Dim frm = New Form2() 
     frm.Show() 
     Me.Hide() 
    End If 
End Sub 

请注意,你必须给你的用户,终止应用程序的方式。

+0

+1。打败我7秒。 – JosephHirn 2013-02-20 15:48:45

+0

对不起,如果我回复的时间太长,先生汉斯你的代码确实有效,但我有一个问题,当我声明'Me.Close'时,它不起作用。我想将它放在另一个按钮中,而不是放在(X)红色按钮中 – Danjor 2013-02-24 23:17:52