Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
In Windows Forms imperativ/sequentiell programmieren?
Wolf359
myCSharp.de - Member



Dabei seit:
Beiträge: 23
Herkunft: Steiermark

Themenstarter:

In Windows Forms imperativ/sequentiell programmieren?

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Wolf359 am .
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Corpsegrinder
myCSharp.de - Member



Dabei seit:
Beiträge: 401

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Wolf359
myCSharp.de - Member



Dabei seit:
Beiträge: 23
Herkunft: Steiermark

Themenstarter:

beantworten | zitieren | melden

Super, Danke, funktioniert! :-)
private Nachricht | Beiträge des Benutzers