如何衡量C#中点击之间的时间?

时间:2016-09-21 06:11:13

标签: c# forms button stopwatch

您好我想创建一个执行此操作的代码。我一直点击,如果点击之间的时间是> = 2000毫秒,那么在标签上写一些东西,否则一直点击。

Stopwatch sw = new Stopwatch();
    double tt = 2000;
    double duration = sw.ElapsedMilliseconds;

    private void button1_Click(object sender, EventArgs e)
    {

        sw.Start();
        if (duration >= tt)
        {
            label1.Text = "Speed reached!";
        }
        else
        {
            sw.Stop();
            duration = 0;
        }
    }

5 个答案:

答案 0 :(得分:2)

修改您的代码,如下所示:

    private void button1_Click(object sender, EventArgs e)
    {
        sw.Stop();

        if (sw.Elapsed.Milliseconds >= tt)
        {
            label1.Text = "Speed reached!";
        }
        else
        {
            sw.Reset();
            sw.Start();
        }
    }

答案 1 :(得分:1)

如果我理解你的问题你想要这样的事情:

Stopwatch sw = new Stopwatch();
double tt = 2000;

private void button1_Click(object sender, EventArgs e)
{
    sw.Stop();
    if (sw.ElapsedMilliseconds >= tt)
    {
        label1.Text = "Speed reached!";
    }
    sw.Reset();
    sw.Start();
}

这将在第一次点击时启动秒表,然后在每次点击时,它将测量点击之间的时间。

答案 2 :(得分:0)

sw.ElapsedMilliseconds是值类型,而不是引用类型 如果将其分配给变量并且ElapsedMilliseconds更改 你的变量不会改变

此外,将代码放在代码的末尾 这应该工作

Stopwatch sw = new Stopwatch();
    double tt = 2000;

    private void button1_Click(object sender, EventArgs e)
    {
        if (sw.ElapsedMilliseconds >= tt)
        {
            label1.Text = "Speed reached!";
        }
        else
        {
            sw.Stop();
            sw.Reset();
        }
        sw.Start();
    }

答案 3 :(得分:0)

private void button1_Click(object sender, EventArgs e)
{
    Session["PrevClickTime"] = Session["PrevClickTime"] ?? DateTime.Now.AddDays(-1);
    if (((DateTime)Session["PrevClickTime"]).Subtract(DateTime.Now).Milliseconds >= 2000)
    {
        label1.Text = "Speed reached!";
    }
    else
    {
        // do y
    }
    Session["PrevClickTime"] = DateTime.Now
}

答案 4 :(得分:0)

我建议采用另一种方法,你可以在每次点击时删除点击事件处理程序启动计时器2秒并在计时器的勾号上再次附加Click事件处理程序。 以下是示例代码:

var imageName: String = userUID + ".png"