日期:2014-05-17  浏览次数:21671 次

c# timer控件计时不准?
private int t = 0;//计时
        private void timer1_Tick(object sender, EventArgs e)
        {
            t++;
        }

        private void timer2_Tick(object sender, EventArgs e)
        {
            this.Text = t.ToString(); t = 0;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Interval = 1;
            timer2.Interval = 1000;
            timer1.Enabled = true;
            timer2.Enabled = true;
        }
按理说 this.Text应该为1000呀,可显示只有65,为何呀?

------解决方案--------------------
windows不是实时系统,会有一定误差的。
------解决方案--------------------
timer不保证定时一定能触发。

一个简单的道理就是,我们假设timer中的代码运行非常耗时,如果真的能做到,那么除非计算机是无限快的。