Как вызвать метод в строго определенное время, а затем приостановить таймер до следующих суток? С#

В приложении Windows Forms, которое запущено постоянно, нужно вызывать метод DeleteOldAccounts() каждый день ровно в 18:00. Для этого есть таймер, который каждые 10 секунд проверяет системное время и сравнивает его с заданным. Если время совпадает, то метод вызывается. Как сделать так, чтобы метод вызывался один раз после срабатывания таймера, а не каждые 10 сек до окончания минуты (пока заданное время совпадает с системным)? И как приостановить таймер хотя бы на 23 часа после срабатывания? Ведь до следующих суток нет особого смысла проверять время каждые 10 секунд.

private System.Windows.Forms.Timer timer;

timer.Interval = 10000;
timer.Enabled = true;
timer.Tick += Timer_Tick;

private void Timer_Tick(object sender, EventArgs e)
 {
     int Hour = 18;
     int Minute = 00;

     if (Hour == DateTime.Now.Hour && Minute == DateTime.Now.Minute)
     {
         acc.DeleteOldAccounts();
     }
 }

Или нужно вообще сделать проверку времени по-другому?


Ответы (0 шт):