【发布时间】:2021-02-08 08:34:12
【问题描述】:
我在构造函数中调用了这个函数:
public void IntervalSC()
{
Random rnd = new Random();
double interval = rnd.Next(2000, 6000);
var SCTimer = new System.Timers.Timer();
SCTimer.Elapsed += new ElapsedEventHandler(dashboardController.Screenshot);
SCTimer.Interval = interval;
SCTimer.Enabled = true;
}
我希望间隔在 2000 到 6000 之间运行 dashboardController.Screenshot,但是在生成随机数后,它不会改变并继续以 rnd 生成的固定间隔运行 Screenshot 函数。我知道这是因为 IntervalSC() 运行一次,所以间隔的随机数也只生成一次。因此,我正在寻找有关如何完成这项工作的建议,以随机间隔运行dashboardController.Screenshot。谢谢。
【问题讨论】:
-
1) 创建
SCTimer和rnd类级别字段。 2) 向SCTimer.Elapsed添加第二个处理程序。 3) 在第二个处理程序的实现中,将SCTimer.Interval的值更改为一个新的随机值。
标签: c# timer system.timers.timer