如果用户按下向上或向下键,则暂停计时器,当他们不按时恢复

时间:2015-01-25 15:08:36

标签: c# timer

我正在使用C#中的计时器运行一组例行活动。

 public MainWindow()
 {
     RefreshTimer();
 }

 public void RefreshTimer()
 {
     var refreshTimer = new Timer();
     refreshTimer.Elapsed += (sender, e) => RefreshPlotList(sender, e);
     refreshTimer.Elapsed += (sender, e) => RefreshWatchList(sender, e);
     refreshTimer.Interval = 2000;
     refreshTimer.Enabled = true;
  }

如果用户按下向上或向下键,我将如何暂停计时器,然后在完成按键操作后恢复计时器?

1 个答案:

答案 0 :(得分:1)

当用户按下一个键时,设置一个布尔标志来记录现在按下该键的事实。释放钥匙时清除标志。

设置标志时忽略计时器滴答事件。

或者:按下键时停止计时器,释放键时启动计时器。这不太可靠,因为计时器滴答可能会在按键后排队并传送。