C# WinForms:如何使用计时器在结束时运行代码';s间隔,但通过它重置间隔';s倒计时

C# WinForms:如何使用计时器在结束时运行代码';s间隔,但通过它重置间隔';s倒计时,c#,winforms,asynchronous,timer,C#,Winforms,Asynchronous,Timer,我正在尝试将日志输出到表单,但我希望在5秒钟的可见性后进行清除。但如果我在这5秒倒计时期间输出另一个日志,我希望将其重置为5秒 即 输出日志(“消息”、“标题”) 5..4..3..2..1.. ClearLog() 但我可能有这种情况 输出日志(“消息”、“标题”) 5..4.. 输出日志(“消息2”、“标题2”) 5..4..3..2.. 输出日志(“消息3”、“标题3”) 5..4..3..2..1.. ClearLog() 同时所有线程都不会停止当前线程 目前我有以下内容,但这是一个常数

我正在尝试将日志输出到表单,但我希望在5秒钟的可见性后进行清除。但如果我在这5秒倒计时期间输出另一个日志,我希望将其重置为5秒

输出日志(“消息”、“标题”)
5..4..3..2..1..
ClearLog()

但我可能有这种情况

输出日志(“消息”、“标题”)
5..4..
输出日志(“消息2”、“标题2”)
5..4..3..2..
输出日志(“消息3”、“标题3”)
5..4..3..2..1..
ClearLog()

同时所有线程都不会停止当前线程

目前我有以下内容,但这是一个常数5秒,因此,例如,日志可能只出现0.5秒

Task.Run(async delegate
{
    await Task.Delay(5000);
    lblLogOutput.Text = "";
});

您可以使用
Stop
功能,然后立即使用Start功能“重启”计时器

private void restartTimer() 
{
  timer1.Stop();
  timer1.Start();
}

您可以使用
Stop
功能,然后立即使用Start功能“重启”计时器

private void restartTimer() 
{
  timer1.Stop();
  timer1.Start();
}

只需使用一个间隔为5000的计时器。在OutputLog中,停止并启动计时器。当它滴答作响的时候,你就知道5秒已经过去了。我会查出来的,谢谢。只要使用一个间隔为5000的计时器就可以了。在OutputLog中,停止并启动计时器。当它滴答作响的时候,你就知道5秒已经过去了。我会检查一下,谢谢。你可能应该提到你说的是什么类型的“计时器”。目前,OP并没有使用它。您可能应该提到您所说的“计时器”的类型。目前,OP没有使用一个