VB.NET: DoubleClick event for a Button

It's not everyday that you need to handle a double click event for a Button, but I happened to stumble upon a case. Suppose you have a Grid where the icons are buttons (in my case, those were image thumbnails, and so I intended to have the user double click a thumbnail in order to load the associated image). That led me to the need of handling the double click event for those Buttons.

Now, .NET exposes the DoubleClick event for a Button, but it doesn't get fired for some obscure reason (Defined as a no-op?). Therefore, a workaround is to handle the more general MouseDown event instead, and consider the case where two clicks where made:

Private Sub Button1_MouseDown(ByVal sender As System.Object, _
                              ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles Button1.MouseDown
        If e.Clicks = 2 Then
            MessageBox.Show("The button was double-clicked.")
        End If
End Sub
Reference: MSDN Forum

Comments

Popular posts from this blog

VB.NET: Raise base class events from a derived class

Apache Kafka - I - High level architecture and concepts

C++/CLI: Convert a String to BSTR or some other nasty stuff