C# Таймер

2075 / C# / Таймер

 

Без доступом до компонентів форми
using System.Threading;

void Main(string[] args){
  Timer t = new Timer(F1, null, 0, 2000); // 0 - затримка до старту, 2000 - період
}

static void F1(Object o) {
  Console.WriteLine("Час: " + DateTime.Now);
  GC.Collect(); // зібрати сміття
}

 
Зупинити таймер

t.Dispose() - на завжди
t.Change(Timeout.Infinite , Timeout.Infinite) - можна знову запустити
Object o - об'єкт таймера, аби ним можна було керувати в F1()

 
Інший варіант

TimerCallback callback = new TimerCallback(F1);
Timer timer = new Timer(callback);
timer.Change(2000, 500); // затримка, як часто
 
 
WPF з доступом до компонентів форми
using System.Threading;

DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1); // щосекунди; new TimeSpan(0, 0, 1);
timer.Tick += F1;
timer.Start();
 
int b = 1;

void F1(object sender, EventArgs e)
{
  tb1.Text = b.ToString();
  b++;
}