2014-07-26 28 views
0

我有一个2表单程序,第一个表单的按钮点击将在点击时打开第二个表单。我尝试使用.close()来隐藏第一个表单,但是结束了整个程序。然后我尝试使用.hide()。现在,当我单击第二个窗体右上角的X按钮时,程序关闭,但仍在后台运行。我如何解决这个问题?即使在按下关闭按钮后程序仍在运行

+0

某些代码如何试图调用'.close()'方法将有助于调查。 –

回答

3

默认情况下,当您关闭启动窗体时,VB.NET应用程序将退出。如果您隐藏了启动窗体并关闭了第二个窗体,那么启动窗体仍处于打开状态,所以应用程序不会退出。

如果您希望能够在不退出应用程序的情况下关闭第一个窗体,那么进入项目属性并将关闭模式设置为当所有窗体关闭时而不是启动窗体关闭时。这样,你可以显示你的第二个表单,然后关闭你的第一个表单。关闭第二个表单然后退出应用程序。

-2

,如果你想第一表格可见再次,添加form1.show()到form_closing事件第2形式的

,如果你想结束程序,添加一个Application.Exit到的form_closing事件第二种形式

+1

永远不要使用'结束'...永远!如果你想关闭应用程序,那么你可以使用'Application.Exit',但这在这种情况下也不合适。如果需要但在不需要时使用黑客,但不要在遵循良好实践的情况下使用它们,这很快且简单,就是这种情况。 – jmcilhinney

0

只需从第二个窗体的FormClosed事件中关闭主要的Form即可。

Sub Form2_FormClosed(sender As Object, e As FormClosedEventArgs) 
    Form1.Close() 
End Sub 
相关问题