2016-09-10 4 views
0

So, jetzt bin ich so frustriert, weil es ein kleines Problem gibt, das mich daran hindert weiter an meinem Programm zu arbeiten.VB - Formular 2 wird automatisch geschlossen, wenn Formular 1 geschlossen wird?

Ich habe ein einfaches Anmeldeformular erstellt, wo der Benutzer ein Passwort eingeben muss und wenn er nach 3 Versuchen fehlschlägt, wird das Formular geschlossen. ABER wenn der Benutzer ein korrektes Passwort eingibt, wird eine Schaltfläche sichtbar und er kann sich anmelden und ein anderes Formular mit dem Hauptprogramm wird geöffnet. Ich möchte also das Login-Formular schließen, wenn der Benutzer die Login-Taste drückt und das Formular 2 erscheint. Einfach Code:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
    logint = 1 
    Form2.Show() 
    Me.Close() 

LOGINT handels den Versuch Zähler ... WAS AUCH IMMER .. Das Hauptproblem ist, dass, wenn ich Anmeldung der Anmeldung drücken schließt sofort und die Form 2 erscheint, bleibt für wie 2 Sekunden und schließt rechts danach. Ich suchte beide Codes und es gibt keine "Form2.Close()" oder "Me.Close()", die diesen Fehler verursachen könnten. Formular 2 wird immer mit Code 0 (0x0) beendet. Was kann ich tun, wenn nur das Anmeldeformular geschlossen und das Hauptformular geladen werden soll?

+0

Ihr Problem ist also, dass die Hauptform versehentlich nach ein paar Sekunden schließt. Sie sollten versuchen, das Anmeldeformular zu umgehen, und öffnen Sie einfach das Hauptformular, sobald Ihr Programm startet. Wenn das Problem weiterhin besteht, wissen wir zumindest, dass es nicht durch das Login-Formular verursacht wurde. – Cauterite

Antwort

0

Wenn Sie direkt auf Ihrem Projekt klicken und die propeties Stimme aus dem Popup-Menü wählen und wechseln Sie auf der Seite Anwendung Sie eine Combobox bemerken, das sagt:

Shutdown mode = When Startup Form close. 

Ihr Startformular das Login-Formular ist, so Wenn es geschlossen wird, wird die App beendet. Sie können diese Einstellungen ändern

Shutdown mode = When last form closes. 

aber, achten Sie auf nicht um Ihre Anwendung verwaiste Formen haben sonst wird es nie aufhören.

Ein besserer Ansatz ist es, Ihre Anwendung mit der normalen Form zu starten und in ihrem Konstruktor das Login-Formular auszuführen. Wenn das Anmeldeformular das Fortsetzen Ihrer Anwendung nicht zulässt, legen Sie eine globale Variable fest, und schließen Sie das Hauptformular in seinem Load-Ereignis.

Verwandte Themen