Hi,
ich habe folgendes Problem:
Ich hole mir über einen Dialog Daten. Nachdem der User diese Daten eingegeben hat, schließe ic den Dialog mit close() und starte mit den übergebenen Daten eine Datenbankabfrage. Diese kann durchaus etwas länger dauern. Nun wird der Dialog nicht komplett ausgeblendet sondern es bleiben Fragmente zu sehen bis die DB-Abfrage fertig ist.
Wie kann ich meinem Programm beibringen, dass es erst mit der DB-Abfrage beginnen soll, wenn der Dialog auch wirklich komplett geschlossen ist?
Viele Grüße,
Oli
Viele Grüße, Oli
vielleicht hilft es, erst visible auf false zu setzen
Application.DoEvents();
vor der Datenbankabfrage sollte Dein Problem lösen.
Mein Haus, mein Viertel, mein Blog
Einer der wenigen Momente, wo die Vewendung von Application.DoEvents() angezeigt ist (nach Close() und vor der DB-Abfrage).
Vielen dank, mit App.DoEvents hat es funktioniert.
Grüße Oli
Viele Grüße, Oli
Hallo oli001,
DoEvents ist nicht gut und in deinem Fall definitiv nicht ausreichend. Die Datenbank-Abfrage muss in einen extra Thread, wenn sie länger als 1/10s dauern kann.
[FAQ] Warum blockiert mein GUI?
herbivore