Form wird nicht aufgebaut

Hallo zusammen,

ich habe ein Problem mit einer Form die angezeigt werden soll während ich eine erhebliche Menge an Daten einlese. Leider Wird die Form nicht richtig aufgebaut, weil der Rechner bereits mit dem einlesen der Daten beschäftigt ist. Die Form wird allerdings vor dem Aufrüf der einzulesenden Daten ausgeführt. Hat hier jemand eine Idee?

Hier mal mein Code Ausschnitt:

Daten_laden loadDATA = new Daten_laden();
loadDATA.Show(); //Diese Form wird nur sehr langsam aufgebaut.

//Material einlesen
try
{
dateninitTMP.material_einlesen(prog_pfad);
}
catch (Exception ex)
{
//throw ex;
MessageBox.Show(„load data:“ + ex.Message);
}

loadDATA.Close();// Schließen des Einstiegformulars („Bitte warten…“)

Hi,

warum wartest du nicht einfach, bis deine Form sich aufgebaut hat. Mehr als 500ms sollte es ja nicht dauern.

also nach Form.Show()
Thread.Sleep(500);

Aber eine andere Frage. Startest Du zum Einlesen einen neuen Thread? Wenn nicht, dann wird deine Form auch nur sehr langsam (eher gar nicht)auf Benutzereingaben regaieren und mit normal verschieben des Fensters ists dann auch Essig.

Grüße,

hoi,

bei einer sehr großen menge an daten empfiehlt es sich definitiv einen backgroundworker zu benutzen. der bw verarbeitet deine daten-geschichte in einem seperaten thread und gibt dir eine einfache möglichkeit deine ui mit einem lade-status versehen zu können, ohne das du dich in die tiefen der asynchronen programmierung begeben musst.

ich hoffe das hilft dir ein bissl weiter.

greetz, me, mhb.

p.s.: du kannst auch versuchen mit

Application.DoEvents()

z.b. alle 500 ms die ui zum arbeiten zu „überreden“.