Посмотрите код внизу этого сообщения. Предполагается добавить «3» в список, затем «2» через секунду, затем «1» через секунду, а затем запустить основной код программы. Однако, как только я запускаю программу, он просто остается пустой 3 секунды, после чего отображаются все 3, 2 и 1, после чего начинается весь код. Я хочу визуально видеть, как каждый номер появляется с задержкой в одну секунду. Как мне это сделать?Альтернатива для Thread.Sleep() временно приостановить программу
private void Main()
{
countdown();
//Main Code
}
private void countdown()
{
listBox1.Items.Clear();
listBox1.Items.Add("3");
System.Threading.Thread.Sleep(1000);
listBox1.Items.Add("2");
System.Threading.Thread.Sleep(1000);
listBox1.Items.Add("1");
System.Threading.Thread.Sleep(1000);
listBox1.Items.Clear();
}
Попробуйте искать, Thread.Sleep() блокирует поток пользовательского интерфейса, используйте таймер. – CodeCaster
Включение потока пользовательского интерфейса программы GUI для сна - довольно резкая ошибка с потенциально неприятными последствиями. Не видеть обновления - это всего лишь незначительная ошибка, есть еще хуже. Такие пользователи, как реагирующие программы, не намерены делать это намеренно медленным. Используйте таймер для анимации. –