C# 如何让我的倒计时实际长达60秒?

C# 如何让我的倒计时实际长达60秒?,c#,winforms,timer,countdown,C#,Winforms,Timer,Countdown,为了好玩和练习编码,我正在做一个打字测试程序,我想首先要做的最简单的事情就是把计数器移到一边。这根本不像我想要的那样是60秒,我认为时间太短了,但是计数器确实下降了,所以这是一个加号。实际上,我从来没有在windows窗体中使用过计时器,所以我有很多东西要探索 namespace Countdown { public partial class Form1 : Form { int s = 60; public Form1() {

为了好玩和练习编码,我正在做一个打字测试程序,我想首先要做的最简单的事情就是把计数器移到一边。这根本不像我想要的那样是60秒,我认为时间太短了,但是计数器确实下降了,所以这是一个加号。实际上,我从来没有在windows窗体中使用过计时器,所以我有很多东西要探索

namespace Countdown
{
    public partial class Form1 : Form
    {   


    int s = 60;
    public Form1()
    {

        InitializeComponent();
        label1.Text = s.ToString();
    }

    private void label1_Click(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {

        timer1.Start();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        s -= 1;
        if(s == 0)
        {
            timer1.Stop();
            button1.Enabled = false;
            textBox1.Enabled = false;
        }

        string ss = Convert.ToString(s);
        label1.Text = ss;
    }
} 

您需要将
Timer.Interval
设置为以毫秒为单位的值(在您的情况下为60000)<代码>勾选事件将在这些毫秒过去后触发。假设您将计时器间隔设置为1000毫秒,正如代码所暗示的,您仍然不能期望其准确。有关原因的详细讨论,请参见标记的副本。较短的版本是,计时器不完全在间隔上执行处理程序;主流操作系统(包括Windows)并没有那么精确。您需要使用其他一些机制来跟踪时间,并且只使用计时器来获得当前时间的定期更新。