如何创建一个在特定条件下启动并计数到 15 秒的计时器? (C#)
How to create a timer that starts on a certain condition, and counts to 15 seconds? (C#)
我正在创建一个 C# 库,并希望创建一个在满足特定条件后启动的计时器。然后,我想让计时器计时到 15 秒,一旦达到 15 秒,就执行另一个动作。它看起来像这样:
if (condition is met)
{
//start timer
}
if (timer == 15 seconds)
{
//do something
//reset timer for next time that condition is met
}
非常感谢任何有关如何在 C# 中执行此操作的帮助!
//using System.Timers;
实例化方法:
Timer timer = new Timer(); //Outside the method
定时器订阅的方法里面
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = 15000; //number in milisecinds
timer.Enabled = true;
OnElapsedTime 事件处理程序
private async void OnElapsedTime(object source, ElapsedEventArgs e)
{
//Do Something
}
备注:
- 重要的是
using System.Timers;
- 事件将 运行 每 15000(15 秒)
- 事件处理程序中的代码将自动执行(不需要条件)。
你可以使用 Task.Delay
.
if (condition is met)
{
// Wait for 15 seconds
await Task.Delay(15000);
//do something
}
我正在创建一个 C# 库,并希望创建一个在满足特定条件后启动的计时器。然后,我想让计时器计时到 15 秒,一旦达到 15 秒,就执行另一个动作。它看起来像这样:
if (condition is met)
{
//start timer
}
if (timer == 15 seconds)
{
//do something
//reset timer for next time that condition is met
}
非常感谢任何有关如何在 C# 中执行此操作的帮助!
//using System.Timers;
实例化方法:
Timer timer = new Timer(); //Outside the method
定时器订阅的方法里面
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = 15000; //number in milisecinds
timer.Enabled = true;
OnElapsedTime 事件处理程序
private async void OnElapsedTime(object source, ElapsedEventArgs e)
{
//Do Something
}
备注:
- 重要的是
using System.Timers;
- 事件将 运行 每 15000(15 秒)
- 事件处理程序中的代码将自动执行(不需要条件)。
你可以使用 Task.Delay
.
if (condition is met)
{
// Wait for 15 seconds
await Task.Delay(15000);
//do something
}