首页 > 解决方案 > 如何使用按钮关闭 Visual Basic 中打开的表单?

问题描述

我正在开发一款游戏,它有一个简单的菜单系统。其中一个按钮,简称为“Button1”,应该关闭菜单表单并加载游戏窗口。当它打开游戏窗口时,它不会关闭菜单窗口。有没有办法让它关闭一个表格并打开另一个表格。

游戏窗口名称 = GameBoard

菜单窗口名称 = Form2

代码:

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim Form2 As New GameBoard
    Form2.ShowDialog()
    Me.Close()
End Sub

标签: vb.netbutton

解决方案


表单未关闭的原因是因为Form2打开方式ShowDialog()

Form2.ShowDialog()
' This will not execute until Form2 is closed
Me.Close()

根据以下文档,这将暂停代码的执行,Button1_Click 直到 after Form2关闭ShowDialog()

将表单显示为模式对话框。

或者,您可以只做Form2.Show(),这不会将其作为对话框打开并允许其余代码运行:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim Form2 As New GameBoard
    Form2.Show()
    Me.Close()
End Sub

或者,在打开之前关闭当前表单Form2

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim Form2 As New GameBoard
    Me.Close()
    Form2.ShowDialog()
End Sub

推荐阅读