Делаю секундомер который должен работать в отдельном от GUI потоке, но выводить в label
время. Секундомер должен работать параллельно остальным операциям GUI :
DateTime date;
private void button1_Click(object sender, EventArgs e) //запуск таймера
{
System.Timers.Timer timer = new System.Timers.Timer(10);
timer.Elapsed += timer_Elapsed;
timer.Start();
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
date = DateTime.Now;
long tic = DateTime.Now.Ticks - date.Ticks;
DateTime stopwath = new DateTime();
stopwath = stopwath.AddTicks(tic);
label1.Text = string.Format("{0:HH:mm:ss:ff}", stopwath);
}
Выходит ошибка СrossThreadMessagingException
. Как её исправить?
this.Invoke(new Action(() =>
{
label1.Text = string.Format("{0:HH:mm:ss:ff}", stopwath);
}));
Ты не можешь обращаться в GUI из другого потока.
GUI привязан к потоку в котором был создан.
Тебе нужно воспользоваться Invoke
или async/await
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Кто-нибудь сталкивался с такой ошибкой при работе с nwjs? [0607/131754:ERROR:process_info
Я использую vuejs + pug + webpack, и у меня встала такая проблема
Стоит задача : Весь контент страницы, и прочая информация о настройках хранится в json файлеПользователь взаимодействует со страницей, меняет...