.NET WPF Лучший способ инициировать событие каждую минуту

В Lumen 5.6 лучше всего настроить настройку по умолчанию в .env как LOG_CHANNEL=daily

По умолчанию параметр LOG_CHANNEL=stack, который использует один файл для ведения журнала.

26
задан Ray Booysen 26 January 2009 в 10:58
поделиться

3 ответа

DispatcherTimer - то, что Вы, после - просто устанавливает интервал, который Вы хотите и затем присоединяете метод к событию Tick - работы обработка.

35
ответ дан Clemens 15 October 2019 в 07:30
поделиться

Как MrTelly заявил, DispatcherTimer является способом сделать это. Это тесно интегрируется с очередью Диспетчера и удостоверяется, что Ваши обратные вызовы находятся на корректном потоке. Ниже некоторые хорошие статьи об этом классе. Некоторый пример кода ниже детализации основного примера:

//  DispatcherTimer setup
DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    // Updating the Label which displays the current second
    lblSeconds.Content = DateTime.Now.Second;

    // Forcing the CommandManager to raise the RequerySuggested event
    CommandManager.InvalidateRequerySuggested();
}

Таймер по сравнению с документацией DispatcherTimer

MSDN

29
ответ дан Gary Stacey 15 October 2019 в 07:30
поделиться

Не уверенный в WPF, но в WinForms, существует управление Таймером для этого. Если нет один, одним путем является следующий цикл:

  • Проверка, если мы проходим последнюю минуту, установила
  • В противном случае сон в течение короткого времени и проверяет снова
  • , Действительно наполняют
  • Проверка, текущее время
  • Сохраняет минуту
  • Сон для 60 000 мс - текущее время (секунда и часть мс) - некоторое значение
1
ответ дан lc. 15 October 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: