繁体   English   中英

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

[英]WinForms: How can I use a timer to run code at the end of it's interval but have the interval reset through it's countdown

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

OutputLog(“ message”,“ title”);
5..4..3..2..1 ..
清除日志();

但是我可能有这种情况。

OutputLog(“ message”,“ title”);
5..4 ..
OutputLog(“ message2”,“ title2”);
5..4..3..2 ..
OutputLog(“ message3”,“ title3”);
5..4..3..2..1 ..
清除日志();

所有这些同时不停止当前线程。

目前,我有以下内容,但是这是固定的5秒,因此日志可能只显示0.5秒。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM