Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Counting Clicks C#

Tags:

c#

.net

Made a simple app which using a timer, counts the number of mouse clicks on a panel for a given duration... simple enough, all working, except it seems to fail to count quickly enough to register all the mouse clicks?

I am literally incrementing a private int value on the click event of the panel, and showing a message box with the results on tick. Any Ideas? Code below...

Matt.

    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());
    }
}
like image 716
Matt Avatar asked Dec 10 '22 15:12

Matt


1 Answers

Use the MouseDown Event. That'll handle every time and negate the need to handle both Click and DoubleClick.

like image 97
djdd87 Avatar answered Dec 26 '22 17:12

djdd87