Здравствуйте! У меня есть программный код на языке C# (см. скриншот). Мне необходимо после нажатия на кнопку "Включить компьютер" показать пользователю, как увеличивается температура, к примеру, от 0 до 30, чтобы пользователь прям видел 1, 2, 3, 4 и так далее.
Прежде чем писать, я пробовал различные способы: через цикл, с использованием Thread.Sleep(). Однако программа зависает или выдаёт последнее значение.
У меня label с температурой это label7.
private void button1_Click(object sender, EventArgs e)
{
// что здесь нужно реализовать, чтобы пользователь видел изменение температуры на каждый градус
label7.Text = "Температура: " + temperature;
}
Температуру храню в переменной: temperature; первоначально переменная равна нулю.

GUI, обработчик события должен максимально быстро вернуть управление. Если по-старинке, то можете по клику включитьbackgroungWorkerи в нём спать вThread.Sleepи менятьlable, толькоBeginInvokeне забыть когда элементыGUIтрогаете. Но лучше сделать асинхронный обработчик клавиши, тогда можете там и цикл в принципе сделать сawait Task.Delayвнутри, если я ничего не путаю. Но ещё лучше - таск отдельный запустить из асинхронного обработчика и всё делать там, так будет совсем правильно. – CrazyElf Mar 21 '23 at 15:13StartLoopиStopLoop- надо ли объяснять, что они делают? – aepot Mar 21 '23 at 19:43