Ich bin mir sicher, dass ich meinen Login-Prozess für meine App in einer nicht so perfekten Art und Weise, aber wie mit vielen Dingen, funktioniert es. Das Problem ist, dass es funktioniert. Ich muss die sehr unpopuläre DoEvents-Sache verwenden.Zeige Login-Formular vor Hauptformular in vb.net
Ich möchte, dass meine Anwendung einen Anmeldebildschirm anzeigt, bevor mein Hauptformular geladen wird. Zur Zeit habe ich ein Anmeldedialogfeld mit einer booleschen FormOpen-Eigenschaft und einer authentifizierten booleschen Eigenschaft. Wenn sich ein Benutzer erfolgreich anmeldet, verberge ich das Anmeldeformular, setze formopen auf false und authentifiziere es auf true. Wenn sie abbrechen, dann mache ich das gleiche und setze die authentifizierte Eigenschaft auf false. Wenn authentifiziere = false dann beende ich die App, sonst zeige ich das Hauptformular über application.run (Mainform)
Shared Sub Main()
Using frmLogin1 As New LoginForm
frmLogin1.Show()
Do While frmLogin1.FormOpen = True
Application.DoEvents()
Loop
If frmLogin1.Authenticated = False Then End
End Using
ModuleRegistration.Register()
Application.Run(MainForm)
End Sub
Gibt es einen bevorzugten Weg, dies zu tun?
Danke für die prompte Antwort. Ich hatte jedoch ein Problem mit showdialog. IIRC, das Problem dabei war, dass ich eine Schaltfläche in meinem Login-Formular habe, mit der ich die Datenbankkonfiguration für meine App, die ich mit showdialog geöffnet habe, hinzufüge/ändere. Wenn das dbconfig-Formular ein dialogresult-Objekt gesendet hat, hat es dazu geführt, dass das Sub-Hauptprogramm die Verarbeitung fortgesetzt hat. Selbst wenn das übergeordnete Element von dbconfig angemeldet war. – Dennis
Meine Antwort wurde aktualisiert, um auf Ihren Kommentar zu antworten. –