Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何同步计时器_C# - Fatal编程技术网

C# 如何同步计时器

C# 如何同步计时器,c#,C#,我在windows窗体应用程序中有两个计时器 我希望第一次1通过单击按钮1启用 private void button1_Click(object sender, EventArgs e) { timer1.Enabled = true; } 我想知道的是如何做到以下几点: 第一次定时器1必须触发一次(勾选一次),然后停止 第二个计时器2在计时器1滴答20秒后启动。在启动计时器1之前,需要将计时器1间隔设置为20*1000(20秒) 您需要停止timer1\u

我在windows窗体应用程序中有两个计时器

我希望第一次1通过单击按钮1启用

 private void button1_Click(object sender, EventArgs e)
    {
        timer1.Enabled = true;
    }
我想知道的是如何做到以下几点:

第一次定时器1必须触发一次(勾选一次),然后停止


第二个计时器2在计时器1滴答20秒后启动。

在启动
计时器1
之前,需要将
计时器1
间隔设置为20*1000(20秒)

您需要停止
timer1\u Tick
事件处理程序中的
timer1
,然后启动
timer2

private void button1_Click(object sender, EventArgs e)
{
    timer1.Interval= 20*1000; //20 seconds
    timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
    timer1.Stop();
    timer2.Start(); //or timer2.Enabled=true;
}

private void timer2_Tick(object sender, EventArgs e)
{
    //do whatever you want in timer2 Tick event handler
}
试试这个:

private void button1_Click(object sender, EventArgs e)
{
    timer1.Interval= 20000;
    timer1.Start();
}

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

private void timer2_Tick(object sender, EventArgs e)
{
    //
    //you job here

}

在我看来,我会添加第三个计时器,在20秒后启动计时器1和计时器2。

为什么不使用第三个计时器在20秒后触发计时器1和计时器2?