1

打开下一个表单(VB.net Windows 表单)后如何关闭我的表单,如“下一步”按钮

我试过Form2.show()它显示form2但没有关闭form1,如果我输入me.close(),整个项目就会停止

4

3 回答 3

4

如果您只想Form2成为可见,您可以Form1在显示时隐藏Form2,然后Form1在关闭时再次显示Form2。正在发生的事情是,一旦您关闭Form1您的程序将退出,请参见下面的编辑。

像这样的东西。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim frm2 As New Form2
    AddHandler frm2.FormClosed, AddressOf Form2Closing
    frm2.Show()
    Me.Hide()

End Sub

Private Sub Form2Closing(sender As Object, e As FormClosedEventArgs)
    Me.Show()
    RemoveHandler DirectCast(sender, Form2).FormClosed, AddressOf Form2Closing
End Sub

如果您只是想关闭Form1并且一旦打开就不再返回Form2,您可以将项目设置从启动表单关闭时(这是默认设置)更改为最后一个表单关闭时,然后您可以关闭您的第一个表单而不关闭您的应用程序.

于 2013-01-29T21:00:41.660 回答
0

您必须指定要关闭的内容:

  Form1.Close()
于 2013-01-29T20:59:21.137 回答
0

您最好不要在打开另一个表单后关闭您的表单,除非您希望另一个也关闭。否则,它将导致所有权和可见性的副作用,从长远来看,您真的不想处理这些副作用。

这正是me.close()在您的主窗体上停止您的项目的原因。您只需考虑 Microsoft 放入 Winforms 应用程序的范例。如果你不这样做,你肯定会遇到麻烦。

相反,您可能正在寻找向导控件。

于 2013-01-29T21:26:38.777 回答