计算点击次数C#

时间:2010-07-06 10:17:35

标签: c# .net

制作一个使用计时器的简单应用程序,在给定的持续时间内计算面板上的鼠标点击次数...简单,所有工作,除了它似乎无法快速计数以注册所有鼠标点击?

我实际上是在面板的click事件上递增私有int值,并显示一个带有结果的消息框。有任何想法吗?代码如下......

    public partial class Form1 : Form
    {
    int click = 0;

    public Form1()
    {
        InitializeComponent();
    }

    private void panel1_Click(object sender, EventArgs e)
    {
            click++;      
    }

    private void panel1_Paint(object sender, PaintEventArgs e)
    {

    }

    private void btnReset_Click(object sender, EventArgs e)
    {
        timer1.Stop();
        txtClicks.Text = "";
        txtTime.Text = "";
        click = 0;

    }

    private void btnGo_Click(object sender, EventArgs e)
    {
        click = 0;
        timer1.Interval = int.Parse(txtTime.Text) * 1000;  
        timer1.Start();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        timer1.Stop();
        MessageBox.Show(txtClicks.Text + " seconds up, No of clicks:" + click.ToString());
    }
}

3 个答案:

答案 0 :(得分:7)

使用MouseDown事件。这样每次都会处理,并且无需同时处理ClickDoubleClick

答案 1 :(得分:5)

  
    
      

除了它似乎无法快速计数以注册所有鼠标点击?

    
  

您可能应该处理鼠标DoubleClick事件以及鼠标点击吗?

答案 2 :(得分:1)

我会把钱放在上面,因为有些点击通过这么快......他们算是双击。

如果你添加一个双击处理程序,并在该处理程序中增加计数器两次,它是否会产生更准确的结果?