Entwickler-Ecke

WinForms - Sleep Alternative


ripmav - Fr 12.03.10 18:14
Titel: Sleep Alternative
Hallo,
ich möchte in mein Programm für 400ms/800ms pausieren. Wenn ich Sleep() verwende, hängt aber das ganze Programm (kein Redraw).
Wenn ich in diesen 400ms DoEvents aufrufe, funktioniert das ganze. Aber DoEvents ist mir nicht ganz recht. In der Pausezeit dürfen nämlich keine Eingaben angenommen werden.

Wie kann ich pausieren und trotzdem eine GUI haben, die sich neuzeichnet? Neue Threads möchte ich eigtl nicht..

EDIT: Am besten wäre DoEvents, welche nur neuzeichnen beachtet, aber keine Eingaben


Kha - Fr 12.03.10 19:36

DoEvents ist nie eine gute Lösung. Für mich hört sich das eigentlich so an, als ob du einfach einen Timer mit 400ms Intervall starten könntest und in der Zwischenzeit über ein Flag die Verarbeitung aller Eingaben unterdrückst.


danielf - Sa 13.03.10 12:23

Ja und die Eingabe kannst du ja einfach mit Enable = false unterdrücken.