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

Pause timer if user presses up or down key, resume when they don't

我是 运行 一组使用 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;
  }

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

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

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

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