WinForms how to call a Double-Click Event on a Button?

No the standard button does not react to double clicks. See the documentation for the Button.DoubleClick event. It doesn’t react to double clicks because in Windows buttons always react to clicks and never to double clicks.

Do you hate your users? Because you’ll be creating a button that acts differently than any other button in the system and some users will never figure that out.

That said you have to create a separate control derived from Button to event to this (because SetStyle is a protected method)

public class DoubleClickButton : Button
{
    public DoubleClickButton()
    {
        SetStyle(ControlStyles.StandardClick | ControlStyles.StandardDoubleClick, true);
    }
}

Then you’ll have to add the DoubleClick event hanlder manually in your code since it still won’t show up in the IDE:

public partial class Form1 : Form {
    public Form1()  {
        InitializeComponent();
        doubleClickButton1.DoubleClick += new EventHandler(doubleClickButton1_DoubleClick);
    }

    void doubleClickButton1_DoubleClick(object sender, EventArgs e)  {
    }
}

Leave a Comment