【问题标题】:Opening new windows form [duplicate]打开新窗口表单[重复]
【发布时间】:2016-03-22 07:34:43
【问题描述】:

我是 Visual Basic 的新手。单击登录按钮时,我想在 VB.NET 中打开一个新窗口。我还想先关闭当前表单,以便打开一个新表单。

Private Sub btnLogIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogIn.Click
    Dim username As String = tbUsername.Text
    Dim password As String = tbPassword.Text

    If username = "admin" And password = "admin" Then
        MsgBox("Log In Successful!", MsgBoxStyle.Information, "Success")
        Close()
        Dim mainMenu As New MainMenu()
        mainMenu.Show()
    Else
        MsgBox("Log In Failed!" + vbCr + "Wrong credentials!", MsgBoxStyle.Exclamation, "Failed")
    End If

End Sub

当我点击登录按钮时,它将显示下一个表单大约 0.10 秒然后关闭。我也尝试了mainMenu.ShowDialog(),但它产生了相同的结果。我该怎么办?

【问题讨论】:

  • 更改项目 > 属性 > 应用程序选项卡 > 关机模式。再看看周围,这应该是可以发现的。当你看到你不明白的东西时,请按 F1。

标签: vb.net winforms vb.net-2010


【解决方案1】:

您的问题是您在方法中定义窗口表单变量。垃圾收集器会在短时间内删除您的窗口,因此它已关闭。尝试在您的方法之外将其定义为私有或公共变量并在内部对其进行初始化。

【讨论】:

    【解决方案2】:

    在关闭前显示表单。

    试试这个:

       Dim Login As New Form
       Login.Show()
       Me.Close()
    

    This question already has an answer here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 2014-09-25
      • 1970-01-01
      • 2012-11-27
      • 2013-06-13
      • 1970-01-01
      相关资源
      最近更新 更多