7 Stimmen

C# Ruhezustand für 500 Millisekunden

Könnten Sie mir bitte sagen, wie ich mein Programm für 500 Millisekunden pausieren und dann fortsetzen kann?

Ich lese Thread.Sleep(500) ist nicht gut, da es den GUI-Thread aufhält.

Mit Hilfe eines Timers wird ein Rückruf ausgelöst ...

Ich möchte nur 500 ms warten und dann mit der nächsten Anweisung fortfahren.

Bitte beraten Sie mich.

EDIT: Ich muss eine Statusleistenmeldung für 500ms anzeigen und dann die Meldung mit einer anderen aktualisieren. Entschuldigung, ich meinte 500 und nicht 50.

EDIT: Ich verstehe, was Sie alles gesagt haben. aber: [Ich denke, weil es so ein kurzes Intervall ist, werde ich ein Thread.Sleep(500) auf dem Haupt-GUI-Thread ausführen, um 500ms zu warten und dann mit der nächsten Anweisung fortzufahren. Ansonsten müsste ich eine Menge Code umschreiben, um dieses kurze Intervall von 500 Millisekunden unterzubringen.

EDIT: Ich werde versuchen, meine Statusmeldung so umzuformatieren, dass die Pause nicht mehr nötig ist.

0voto

Vlad Punkte 34235

Sie müssen einen weiteren Thread zuweisen. In diesem Thread müssen Sie Sleep(500) und ändern Sie die erforderlichen Daten. Achtung: Sie müssen den Dispatcher des Original-Threads verwenden, da die Daten, die sich auf die Benutzeroberfläche beziehen, normalerweise vom GUI-Thread aktualisiert werden sollten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X