Вызов функции по завершению таймера - C#
Формулировка задачи:
Помогите написать код, что бы вызвалась функция в момент, когда таймер достигнет заданного значения. При этом пользователь не должен ждать завершения этого процесса, он может пользоваться другими встроенными функция программы параллельно.
не могу разобраться как это можно реализовать, помогите пожалуйста!
Теперь возникла проблема: ругается на status.Text = "Свободен";
Содержание ошибки:
"Недопустимая операция в нескольких потоках: попытка доступа к элементу управления 'label_status' не из того потока, в котором он был создан."
Написал следующее: (status - это label на форме).
private System.Timers.Timer timer; public void start() { status.Text = "Занят"; timer = new System.Timers.Timer(10000); timer.Interval = 1000;// 1сек timer.Enabled = true; timer.Elapsed += new ElapsedEventHandler(time_print); } private void time_print(object source, ElapsedEventArgs e) { status.Text = "Свободен"; }
Решение задачи: «Вызов функции по завершению таймера»
textual
Листинг программы
status.Invoke(new Action(() => status.Text = "Свободен"));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д