If I understand correctly then you can prevent the automatic callback and change the timer once when you need.
Timer = new Timer(DoWork, autoEvent, 0, Timeout.Infinite);//Prevent periodic timer
void DoWork(object state)
{
//Do work and then set timer again
timer.Change(TimeInMilliSeconds, Timeout.Infinite);
}
Don't forget to add try/finally
block, if you don't do your timer will not be called again in case of exception.