2017-01-20 4 views
2

Ich mache ein Programm, in dem Sie einen Knopf drücken können und es macht eine neue Form, aber ich habe ein kleines Problem.Visual Basic: Schließen und Öffnen von Formularen?

Weil ich Form1 und Form2 habe. Wenn ich den Knopf auf Form1 drücke zeigt es Form2 und es sollte nur Form1 schließen.

Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click 
     Form2.Show() 
     Me.Close() 

Was tatsächlich passiert ist, dass es Form1 und Form2 schließt auch wenn ich sagte Me.close().

Gibt es einen Fehler oder habe ich es irgendwie falsch gemacht?

Antwort

2

Ich wette, Form1 ist Ihr Startformular. Wenn nicht sicher, überprüfen Sie das in den Projekteigenschaften. enter image description here

Sobald Sie Form1 schließen, wird Ihre Anwendung beendet. In einfachen Worten, Sie können Form1 nicht schließen und ein anderes Formular anzeigen, zumindest nicht mit 2 Zeilen Code.

Was Sie tun können, ist Form1 ausblenden und Show Form2.

Form2.Show() 
    Me.Hide() 

Nun, wenn Sie Form2 schließen, stellen Sie sicher, dass Sie entweder Form1 sichtbar machen (so dass usercan es manuell schließen) oder automatisch schließen Form1 von Form2 der Formclosing Ereignisse, sonst Ihr Prozess im Hintergrund lebendig sein wird, ein Geist :)

in Ihrem Form2 So fügen Sie den FormClosing Event-Handler und dann in das Form1 schließen

Private Sub Form2_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing  
     Form1.Close() 
    End Sub