2016-03-22 16 views
-1

Ich bin neu in Visual Basic. Ich würde gerne ein neues Fenster in VB.NET öffnen, wenn ich auf den Login-Button klicke. Ich wollte auch zuerst das aktuelle Formular schließen, damit es ein neues Formular öffnet.Öffnen von neuen Fenstern Formular

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 

Wenn ich auf die Schaltfläche Anmelden klicke, wird das nächste Formular für etwa 0,10 Sekunden angezeigt und dann geschlossen. Ich habe auch versucht mainMenu.ShowDialog(), aber es ergibt das gleiche Ergebnis. Was soll ich machen?

+2

Projekt ändern> Eigenschaften> Registerkarte Anwendung> Shutdown-Modus. Sehen Sie sich noch etwas um, das soll erkennbar sein. Wenn Sie etwas sehen, das Sie nicht verstehen, drücken Sie F1. –

Antwort

0

Ihr Problem ist, dass Sie Ihre Fensterformvariable innerhalb einer Methode definieren. Der Garbage Collector löscht Ihr Fenster nach kurzer Zeit und ist damit geschlossen. Versuchen Sie, es außerhalb Ihrer Methode als private oder öffentliche Variable zu definieren und initialisieren Sie es im Inneren.

Verwandte Themen