如何在C#中创建计时器计数器

时间:2013-11-20 15:16:59

标签: c# timer

我正在尝试创建一个计时器,用于检查计算机的锁定时间。计划是计时器计数30分钟,然后在30分钟后执行一些代码。到目前为止我试试这个

int startin = 1800 - DateTime.Now.Second;
var time = new System.Threading.Timer(o => Console.WriteLine("hello"), null, startin * 1000, 1800000);

除了我需要在用户登录时停止并重置计时器时才有效。 任何的想法?感谢

1 个答案:

答案 0 :(得分:1)

public class Timer
{
    CancellationTokenSource _cts = new CancellationTokenSource();

    public Task Wait(TimeSpan delay)
    {
        return Task.Delay(delay, _cts.Token);
    }

    public void Stop()
    {
        _cts.Cancel();
    }
}

用法:

var t = new Timer();
await t.Wait(TimeSpan.FromMinutes(30));