如何在“n”秒不事件后关闭 WPF 应用程序?

最佳答案

有点晚了,但我想出了这个代码,它会在任何输入事件上重新启动计时器:

  public partial class Window1 : Window {
    DispatcherTimer mIdle;
    private const long cIdleSeconds = 3;
    public Window1() {
      InitializeComponent();
      InputManager.Current.PreProcessInput += Idle_PreProcessInput;
      mIdle = new DispatcherTimer();
      mIdle.Interval = new TimeSpan(cIdleSeconds * 1000 * 10000);
      mIdle.IsEnabled = true;
      mIdle.Tick += Idle_Tick;
    }

    void Idle_Tick(object sender, EventArgs e) {
      this.Close();
    }

    void Idle_PreProcessInput(object sender, PreProcessInputEventArgs e) {
      mIdle.IsEnabled = false;
      mIdle.IsEnabled = true;
    }
  }

关于c# - 在 n 秒不事件后关闭 WPF 应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2363117/

10-10 11:02