Ich finde in keinem Buch und auch im Web nichts dazu.
Kann ich festlegen, dass die Methoden die ich aufrufe streng nacheinander abgearbeitet werden?
Als Beispiel:
Ein Fenster öffnet sich, der an den Konstruktor übergebene Text wird für 2 sec angezeigt und das Fenster schließt sich. (ist nur ein Beispiel)
Wenn z.B. ich folgendes in den Konstruktor schreibe
> this.Show();
> textBox.Text = "Test";
> System.Threrading.Thread.Sleep(2000);
> this.Close();
dann wird die Pause vorher gemacht bevor der Text angezeigt wird. Nach der Pause kurz vor dem Schließen blitzt der Text noch auf.
Ich hätte das strenge hintereinander abarbeiten schon öfter benötigt, konnte es aber immer irgendwie umgehen.
Jetzt muss ich direkt mal nachfragen und meine Wissenslücke schließen.
Wie gesagt ich finde dazu nichts, weil ich nicht mal weiß nach welchen Schlüsselworten ich suchen soll.
Etwas Starthilfe würde mir schon nützen, danach finde ich mich dann schon zurecht.
Danke!
Wolfgang
Hallo Wolf359,
nein, das entspricht nicht dem Programmiermodell von Windows Forms. Da musst du ereignisgesteuert programmieren. Wenn du was anders versuchst, stößt du immer wieder an Ecken und Kanten. Das ist nicht effektiv. Lerne besser ereignisgesteuertes Programmieren.
Im konkreten Fall nimm einen Timer, um zwei Sekunden zu warten.
Siehe auch [FAQ] Warum blockiert mein GUI?
herbivore
Thread.Sleep sollte man generell vermeiden, da der Thread dann komplett brach liegt, wo er doch in der Zeit andere Aufgaben übernehmen könnte (z.B. das Neuzeichnen der GUI 😉 ). Also wie herbivore schon sagte, benutz am besten einen Timer.