Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何测量两次按钮按下之间的时间?(绞车&x2B;C)_C#_Windows Ce - Fatal编程技术网

C# 如何测量两次按钮按下之间的时间?(绞车&x2B;C)

C# 如何测量两次按钮按下之间的时间?(绞车&x2B;C),c#,windows-ce,C#,Windows Ce,我需要测量两次按下按钮之间的时间 在Windows CE C# 你怎么做 “提前感谢”在单击按钮一次到现在()时定义一个变量。 第二次单击时,测量NOW和变量之间的差异 通过执行NOW-DateTime变量,您将获得一个TimeSpan变量。单击按钮一次到现在()时定义一个变量。 DateTime? time; buttonClick(....) { if (time.HasValue) { TimeSpan diff = DateTime.Now.Subtra

我需要测量两次按下按钮之间的时间

在Windows CE C#

你怎么做


“提前感谢”

在单击按钮一次到现在()时定义一个变量。 第二次单击时,测量NOW和变量之间的差异


通过执行NOW-DateTime变量,您将获得一个TimeSpan变量。

单击按钮一次到现在()时定义一个变量。
DateTime? time;

buttonClick(....)
{
    if (time.HasValue)
    {
        TimeSpan diff = DateTime.Now.Subtract(time.Value);
            DoSomethingWithDiff(diff);
        time = null;
    }
    else
    {
        time = DateTime.Now;
    }
}
第二次单击时,测量NOW和变量之间的差异


通过执行NOW-DateTime变量,您将获得TimeSpan变量。

DateTime.NOW可能不够精确,无法满足您的需要。(简短版本:DateTime非常精确,DateTime.Now->不太精确。)

DateTime? time;

buttonClick(....)
{
    if (time.HasValue)
    {
        TimeSpan diff = DateTime.Now.Subtract(time.Value);
            DoSomethingWithDiff(diff);
        time = null;
    }
    else
    {
        time = DateTime.Now;
    }
}
如果希望获得更好的精度,请使用Stopwatch类(System.Diagnostics.Stopwatch)


DateTime。现在可能不够精确,无法满足您的需要。(简短版本:DateTime非常精确,DateTime.Now->不太精确。)

如果希望获得更好的精度,请使用Stopwatch类(System.Diagnostics.Stopwatch)

请参见静态属性

系统启动后经过的毫秒数,因此调用它两次并从后面的值中减去前面的值将得到以毫秒为单位的经过时间。

请参阅static属性


系统启动后经过的毫秒数,因此调用两次并从后面的值中减去前面的值将得到经过的毫秒数。

thank's,如何将滴答声转换成分和秒?一秒钟有1000万滴答声。但是秒表具有EllapsedSeconds(不言自明)和Ellapsed的属性,这将返回一个时间跨度,从中可以获得分钟、秒等。@Anthony:默认的秒表实现使用系统刻度,即每秒只有1000个刻度,而不是1000万。@ctacke,很有趣。然而,根据您的评论,我找到的文档表明,它因操作系统和硬件而异。例如,我的工作机器上的频率表示秒表类表示每秒有2143115个“计时器滴答声”。无论如何,感谢您的更正,Stopwatch没有使用与DateTime相同的滴答声实现。谢谢,如何将滴答声转换成分和秒?一秒钟有1000万滴答声。但是秒表具有EllapsedSeconds(不言自明)和Ellapsed的属性,这将返回一个时间跨度,从中可以获得分钟、秒等。@Anthony:默认的秒表实现使用系统刻度,即每秒只有1000个刻度,而不是1000万。@ctacke,很有趣。然而,根据您的评论,我找到的文档表明,它因操作系统和硬件而异。例如,我的工作机器上的频率表示秒表类表示每秒有2143115个“计时器滴答声”。无论如何,感谢您的更正,Stopwatch没有使用与DateTime相同的滴答声实现。