WinForms:我如何使用定时器在其间隔结束时运行代码,但通过倒计时重置间隔
我试图向表单输出日志,但是我想在5秒的可见性后输出日志。但是如果我在5秒倒计时期间输出另一个日志,我希望将它重置回5秒。WinForms:我如何使用定时器在其间隔结束时运行代码,但通过倒计时重置间隔
I.e.
OutputLog(“message”,“title”);
5..4..3..2..1 ..
ClearLog();
但我可能会遇到这种情况;
OutputLog(“message”,“title”);
5..4 ..
OutputLog(“message2”,“title2”);
5..4..3..2 ..
OutputLog(“message3”,“title3”);
5..4..3..2..1 ..
ClearLog();
同时不停止当前线程。
目前我有下面的内容,但这是一个常数5秒,所以一个日志可能只会出现0.5秒,
Task.Run(async delegate
{
await Task.Delay(5000);
lblLogOutput.Text = "";
});
可以使用Stop
功能立即开始跟随功能设置为“重启”的计时器。
private void restartTimer()
{
timer1.Stop();
timer1.Start();
}
我会检查一下,谢谢。 –
你应该提到你正在谈论的_什么类型的“计时器”。目前,OP没有一个 – MickyD
只需使用间隔为5000的计时器即可。在OutputLog中停止并启动计时器。当它滴答时,你知道5秒钟过去了。 –
我会检查一下,谢谢。 –