Это не дубликат Thread.sleep () в то время как цикл не работает должным образом? Потому что один из принятых ответов заключается в том, что он перепутал миллисекунды и секунды.
Примечание: кто-то предположил, что Поддержка потока пользовательского интерфейса при запуске длинной задачи в формах Windows решит мой вопрос.Пример в этом вопросе очень сложен тем, что в нем есть много вещей, которые не относятся к делу, и ответы на них отвечают и включают всю эту сложность.Гораздо сложнее понять этот вопрос и ответить.Мой вопрос намного проще и, следовательно, ответ гораздо проще.Принятый ответ здесь не имеет token.ThrowIfCancellationRequested();
Очень сложно адаптировать сложный ответ по этой ссылке к моему простому вопросу.Я, конечно, не принял бы принятый ответ на этот вопрос как ответ на мой.Ганс фактически дал однострочный ответ.Я не думаю, что однострочный ответ относится к этому вопросу.Так что мой вопрос отличается от этого.
У меня есть форма с кнопкой и меткой
У меня есть этот код при нажатии кнопки
Aнажатие кнопки вызывает функцию, которая делает это
int a, b;
int i=0;
while(i<5)
{
i += 1;
Thread.Sleep(1000);
label1.Text += "a";
}
MessageBox.Show("done");
Я бы "ожидал" / хотел, чтобы это записывало каждое из 5 'a, с паузой на секунду между каждым.
Но это не так, это их буферизирует.он ждет 5 секунд, затем записывает все «а» и печатает «готово».
Почему он буферизируется?
Я не хочу использовать таймер, потому что хочу, чтобы онбыть последовательным.Я не хочу, чтобы «готово» печаталось до тех пор, пока не будет выполнено заданное время.
Как получить код, который мне нужен, чтобы работать так, как я хочу?
На этот вопрос есть принятый ответ C # - Как приостановить приложение до завершения таймера? Я не совсем понимаю, я бы протестировал это, но я даже не вижу, как это проверить, потому что я не могу понять, куда я положил код из принятого ответа, как я бы его адаптировалhttps://i.imgur.com/gjRDEiX.png Возможно, принятый ответ имеет подкласс таймера или что-то в этом роде, и это не кажется необходимым для моей проблемы / вопроса.