Introduction
I wanted to have a control that will process a Click event or a DoubleClick event. All the solutions I could find on the internet used a rather complicated rollback process. This is a very simple solution that could be understood by just about anybody.
Using the code
The form uses a label for the control. Just Click or DoubleClick on the label to try it out. The code has a constant to enable the DoubleClick speed to be altered.
Public Class frmClickDoubleClick
Const DOUBLE_CLICK_SPEED As Integer = 250 Dim isDoubleTriggered As Boolean = False
Private Sub labLabel_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles labLabel.Click
System.Threading.Thread.Sleep(DOUBLE_CLICK_SPEED)
System.Windows.Forms.Application.DoEvents()
If isDoubleTriggered Then
isDoubleTriggered = False
Exit Sub
End If
Me.BackColor = Color.Coral Me.Text = "Single Click"
End Sub
Private Sub labLabel_DoubleClick(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles labLabel.DoubleClick
isDoubleTriggered = True Me.BackColor = Color.Aquamarine Me.Text = "Double Click"
End Sub
End Class