Я пытаюсь увеличивать пол и каждый раз, когда состояние пола должно меняться и показывать на полу, медленно увеличиваясь до желаемого уровня. Но пол просто ждет, а затем прыгает прямо к желаемому полу, не увидев, как он постепенно увеличивается. Я предполагаю, что это связано с тем, что пользовательский интерфейс блокируется каждый раз, когда он попадает в сон, и поэтому я не вижу постепенного увеличения.Как выполнить время ожидания отдельного потока для остановки пользовательского интерфейса от замораживания
Как я могу выполнить ожидание в другом потоке (если это даже проблема), чтобы остановить пользовательский интерфейс от замораживания?
Вот мой код:
while (floor > elevator.currentFloor)
{
elevator.currentFloor++;
changeStatus(elevator);
currentFloorLbl.Text = "Current Floor: " + elevator.currentFloor;
System.Threading.Thread.Sleep(500);
}
Вам нужно запустить весь цикл while в другой ветке, возможно, используя BackgroundWorker или используя Task.Factory.StartNew (...). – failedprogramming
Ошибка при неудачном прогоне. – Aron
Могу ли я иметь пример, пожалуйста? –