VB.net 中的“下一步”按钮

问题描述 投票:0回答:4

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

我尝试了

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

vb.net winforms
4个回答
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
打开后不想返回到它,您可以将项目设置从 当启动表单关闭时(这是默认设置)更改为 当最后一个表单关闭时然后您可以关闭第一个表单而不关闭您的应用程序。


0
投票

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

  Form1.Close()

0
投票

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

这正是主窗体上的

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

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


0
投票

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) 处理 Button1.Click 调暗 frm2 作为新 Form2 AddHandler frm2.FormClosed, AddressOf Form2Closing frm2.Show() 我.隐藏()

结束子

私有子 Form2Closing(发送者作为对象,e 作为 FormClosedEventArgs) 我.Show() RemoveHandler DirectCast(sender, Form2).FormClosed, AddressOf Form2Closing 结束子

© www.soinside.com 2019 - 2024. All rights reserved.