Просто запишите время, которое вы хотите остановить и завершить таймер из истекшего обработчика. Вот пример (примечание: я использовал System.Threading.Timer
timer
. Выберите соответствующий таймер для того, что вы делаете. Например, у вас может быть после System.Windows.Forms.Timer
, если вы пишете в Winforms.)
public class MyClass
{
System.Threading.Timer Timer;
System.DateTime StopTime;
public void Run()
{
StopTime = System.DateTime.Now.AddMinutes(10);
Timer = new System.Threading.Timer(TimerCallback, null, 0, 5000);
}
private void TimerCallback(object state)
{
if(System.DateTime.Now >= StopTime)
{
Timer.Dispose();
return;
}
// Do your work...
}
}