C# 在c中添加if idle for x seconds条件#

C# 在c中添加if idle for x seconds条件#,c#,xaml,loops,timer,C#,Xaml,Loops,Timer,我有一个带有on/ff开关的循环,它检查某些条件,如果满足这些条件,循环将开始,直到开关关闭。我想添加另一个条件,检查用户是否空闲200毫秒,如果满足此条件,循环将开始/继续运行,否则将停止/不继续。有办法做到这一点吗?我所说的空闲是指没有鼠标移动或键盘按键 基本上是这样的: if (a.IsValid && b.Percent > 0 && b.Percent < StringToInt(PercentTextBox.Text) &&

我有一个带有on/ff开关的循环,它检查某些条件,如果满足这些条件,循环将开始,直到开关关闭。我想添加另一个条件,检查用户是否空闲200毫秒,如果满足此条件,循环将开始/继续运行,否则将停止/不继续。有办法做到这一点吗?我所说的空闲是指没有鼠标移动或键盘按键

基本上是这样的:

if (a.IsValid && b.Percent > 0 && b.Percent < StringToInt(PercentTextBox.Text) && ***IDLE FOR 200 MS***)
if(a.IsValid&&b.Percent>0&&b.Percent

我正在使用visual studio。

您可以监视窗体的鼠标移动和按键事件,以检查活动。如果存在活动,则将标志设置为true,并使用计时器检查持续时间

表单级变量:

bool idle = true;
int duration = 0;
鼠标移动和向上键事件:

idle = false
每1毫秒触发一次计时器滴答事件:

duration++;
If (duration >= 200 & idle = true)
{
    idle = true;
}

xaml,使用microsoft visual Studio使用。你必须做一次平卧才能做到这一点。该链接还包含一个示例,该示例正是您试图执行的操作。