关闭

C#中Timer的触发问题

624人阅读 评论(0) 收藏 举报
分类:

由于上周是考试周,因此博客没有按时更新,心里有些过意不去,感觉自己又偷懒、松懈了。哎,不管怎样,考试总算是结束了。工作重心又重新回到了项目上来,每天又能有时间去写写代码了:)

这是今天突然想起来的一个小问题,很easy,只要简单测试下就能知道结果,不过还是记录下来吧,以免以后忘记。

一、问题描述

C#中有一个Timer控件,用户可以为这个控件设定一个时间间隔,每隔一段时间Timer就会触发一个timer1_Tick事件,那么,假如开始时Timer是禁止使用的,当我们点击一个“开始”按钮,Timer控件启用,那第一次触发这个timer1_Tick事件,是在点击“开始”按钮后立即触发,还是等一段时间间隔后在触发呢?

二、代码

问题很简单,直接测试下就知道答案了,这里直接上代码。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Test
{
    public partial class Form_Timer : Form
    {
        public Form_Timer()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            MessageBox.Show("Hello World!");
        }
    }
}

其中,开始时Timer的Enabled属性为false。

三、结果

直接在这里说结果,就不上图了,如果哪位朋友感兴趣,可以把代码拷下来,自己试一试。

Timer不会在“开始”按钮点击后立即触发,而是在一定时间间隔(假设5s)后在触发,且Timer不会暂停,timer1_Tick触发后会立即进入下一时间间隔,没有等待。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8802次
    • 积分:177
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:14篇
    • 译文:0篇
    • 评论:0条