我希望获得按钮的每秒点击次数并将其保存在_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项目。
答案 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;
}
如果您不需要记录点击发生的时间,那么请使用评论中的建议。