[VB.NET] Alternative zu Thread.Sleep / Task.Delay

Gast #7036031
Lesenswert?
• ▲
▼
Hallo,

kurz und sachlich:
 - Compact Framework da Windows Mobile Gerät

Beim klick eines Buttons sollen mehrere Befehle hintereinander 
ausgeführt werden, mit einer Pause von 200 Millisekunden.

Also im ButtonClick Event:
1
Erster Befehl
2
200 ms warten
3
zweiter Befehl
4
200 ms warten
5
etc.

Async / Task.Delay geht da noch nicht. Thread.Sleep blockiert die GUI 
(ist "normal", das weiß ich).

Welche Alternativen gibt es für diesen Fall?

MfG
Gast #7036271
Lesenswert?
• ▲
▼
zione schrieb:

> Welche Alternativen gibt es für diesen Fall?

Ein Windows.Forms.Timer und eine state machine in dessen Tick-Handler. 
Hat den Vorteil, dass GUI-Feedback durch die einzelnen "Kommandos" 
problemlos möglich ist. Ist aber ungünstig, wenn die Kommandos selber 
lange laufen, denn dann blocken sie für ihre Laufzeit den GUI-Thread. 
Wenn das der Fall sein sollte, dann wäre die nächste Variante zu 
bevorzugen:

Ein System.Threading.Timer und eine state machine in dessen 
Timer-Prozedur. GUI-Feedback muss dann aber per System.Form.Invoke oder 
System.Form.BeginInvoke geschehen.
Gast #7036450
Lesenswert?
• ▲
▼
c-hater schrieb:
> c-hater schrieb:
>
>> GUI-Feedback muss dann aber per System.Form.Invoke oder
>> System.Form.BeginInvoke geschehen.
>
> Muss natürlich richtig heißen: Windows.Form.Invoke bzw.
> Windows.Form.BeginInvoke.

Immer noch nicht richtig, aber jetzt:

Muss natürlich richtig heißen: Windows.Forms.Form.Invoke bzw.
Windows.Forms.Form.BeginInvoke.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.