Hallo,
ich habe eine SplashForm erstellt, die ich vor einem Datenbanklogin anzeigen will. Diese Form hat ein animiertes GIF. Wenn ich die DB-Anmeldung in einem eigenen Thread aus dem GUI-Prozess heraus starte, dann erfolgt leider keine Aktualisierung/Animation der SplashForm.
Die eigentliche Worker-Methode, die der neue Thread synchron abarbeiten soll:
An sich ist die Anforderung einfach formuliert:
Irgendetwas mache ich falsch. Hat jemand eine Idee?
Gruß,
Gunter
ich habe eine SplashForm erstellt, die ich vor einem Datenbanklogin anzeigen will. Diese Form hat ein animiertes GIF. Wenn ich die DB-Anmeldung in einem eigenen Thread aus dem GUI-Prozess heraus starte, dann erfolgt leider keine Aktualisierung/Animation der SplashForm.
Code:
EFWait waitForm = new EFWait("Login..."); waitForm.Show(); Application.DoEvents(); Thread t = new Thread(new ThreadStart(TestConnection)); t.Start(); t.Join(); waitForm.Close();
Code:
void TestConnection() { _connectionTestOk = databaseProvider.TestConnection(connectionString); }
- SplashForm anzeigen (damit der Anwender weiß, was gerade passiert...)
- DB connecten (hier wird die herstellerspezifische ADO.NET-Methode Open() auf einem Connection-Objekt aufgerufen)
- Der Ursprungsthread wartet (via Join), bis der neue Thread fertig ist und schließt dann die SplashForm.
Irgendetwas mache ich falsch. Hat jemand eine Idee?
Gruß,
Gunter
Comment