2017-10-07 3 views
-2

Also, was ich habe, ist ein Formular, das einen Login-Code hat und es funktioniert gut. Aber was ich will ist, dass nachdem jemand sich eingeloggt hat, das Login-Formular unsichtbar ist und das Hauptformular wieder sichtbar ist. Mein Login-Formular heißt Form1.cs und mein Hauptformular, das nach dem Login geöffnet werden muss, heißt zzz.cs.C# schließen Sie ein Formular und öffnen Sie ein anderes Formular nach dem Einloggen

Hier ist mein Code, der den Trick zu tun hat:

MessageBox.Show("You are logged in successfully"); 
 
zzz zzz = new zzz(); 
 
zzz.ShowDialog(); 
 
this.Visible = false;

Hier ist ein Screenshot, was ich bekommen: Screenshot

Wie kann ich diese Arbeits beheben? Danke!

Antwort

0

Dies liegt daran, dass der Code auf dem ShowDialog() angehalten wird, bis das Fenster geschlossen wird, ersetzen Sie dieses mit Show().

MessageBox.Show("You are logged in successfully"); 
zzz zzz = new zzz(); 
zzz.Show(); 
this.Visible = false; 
+0

Danke !!!!!!!!! –

+0

Wenn 'Form1.cs' Ihr Startformular ist, führt das Verbergen dazu, dass Ihre Anwendung nicht ordnungsgemäß beendet wird, bis sie geschlossen wird (es sei denn, Sie rufen [Application.Exit()] (https://msdn.microsoft.com/) en-us/library/ms157894 (v = vs.110) .aspx) von irgendwo). Sie müssen zusätzlichen Code hinzufügen, um Form1 zu schließen, wenn Ihre zzz-Instanz geschlossen ist, oder den Verweis auf Form1 auslassen, damit er von woanders geschlossen werden kann. –

Verwandte Themen