Timer 使用的注意事项

timer,顾名思义:定时器

在程序中,需要定期去做某件事时,timer 通常都是我们的首选,因为 timer 确实简单易用。

通常,我们使用 timer 时,只做两件事:

1、给 timer 指定一个 interval 值, 该值是以“毫秒”为单位的。

      我们这里,比如赋值 2000 (2秒)

2、在 timer 的 Tick 事件里,加入要做的事。

private void timer1_Tick( object sender, EventArgs e )
{
    // dosomething();
}
如果 dosomething() 耗时为 3 秒或更多,那会发生什么事情呢?
结果是 dosomething 执行结束后,并没有等待2秒,而是直接又执行了一次,重复下去,违背了我们的初衷。
下面的例子,可以在很大程度上解决上面的问题:
private void timer1_Tick( object sender, EventArgs e )
{
    timer1.Stop(); //先停止timer
    try
    {
        //dosomething();
    }
    finally
    {
        timer1.Start();  //要做事情结束后,再开始计时
    }
}

 

以前我也从来没有注意过这个问题,这次看到这篇文章后,算是学习了,以后在编程的过程中应该注意这个问题了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值