按钮获取每秒点击次数

时间:2015-12-15 18:57:09

标签: c# wpf

我希望获得按钮的每秒点击次数并将其保存在_clicksPerSecond

我已经获得了用户点击的次数:

private void button_Click(object sender, RoutedEventArgs e)
{
  _klicks++;
}

因此,如果我点击按钮,点击计数器会上升一个,该值将保存在Highscore.txt文件中:

writeHighscore = _klicks + Environment.NewLine;
File.WriteAllText(Path.Combine(savePath, "Highscore.txt"), writeHighscore);

我需要的是计算用户在第二个中做了多少_klicks。但我不知道如何获得时间以及如何在第二时间获得_klicks的价值。现在我只得到用户所做的_klicks

我正在使用WPF项目。

2 个答案:

答案 0 :(得分:2)

如果您想要平均值,则应保存平均点击次数的时段的开始时间,这样您就可以从结束时间(可能是DateTime.Now)中减去它。

然后你可以计算平均值:

clicksPerSecond = _klicks / (_startTime - _endTime).TotalSeconds

这是有效的,因为DateTime减法运算符返回TimeSpan。

答案 1 :(得分:1)

您可以使用每1000毫秒检查_klicks值的计时器,将其保存在您的文件中并将其重新设置为0

void main(){
    timer = new Timer();
    timer.Interval = 1000; // 1000 miliseconds = 1 second
    timer.Tick += new EventHandler(timer_Tick);
    timer.Enabled = true;
}
void timer_Tick(object sender, EventArgs e)
{
    // Do what you need
    var clicks = _klicks;
    // method to save clicks to the file
    _klicks = 0;
    return clicks;
}

如果您不需要记录点击发生的时间,那么请使用评论中的建议。