我有一个图片框和一个表格。我想计算这些点击的次数,然后计算所有点击的比率。
我尝试使用此代码来点击图片框
private void pictureBox1_Click(object sender, EventArgs e)
{
hitcounter++;
label3.Text = hitcounter.ToString();
}
然后我要计算表单的点击次数,然后尝试了这段代码
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
mouseCounter++;
}
mouseCounter
,hitcounter
和accuracy
是全局变量。
最后,我想计算图片框所有点击的点击率。为此,我做这个
public string Accuracy(int mousecounter,int hitcounter)
{
accuracy = (double)(((double)hitcounter / (double)(mouseCounter + hitcounter + 0.000000001)) * 100);
return label6.Text = "Accuracy: " + Math.Round(accuracy, 1).ToString() + "%";
}
但是奇怪的是,当我在Accuracy
中启动程序时将方法pictureBox1_Click
放到label6
中时,由于它忽略了点击,因此无法打印正确的值并仅在第一次点击图片框时更改比率(例如,如果我第一次在图片框上点击我具有100%的准确度,但是如果单击表单,则保持100%而不是50%。如果第三次点击是在图片中打印正确的值)。
另外,如果我仅将Form1_MouseClick
方法放入Accuracy
,则会遇到相反的问题。
我尝试同时在Accuracy
和pictureBox1_Click
中放置方法Form1_MouseClick
,并在每次单击中打印正确的值!
有人可以修改它,或者向我展示其他解决方案吗?