Hallo,
ich möchte gerne herausbekommen, ob "singleClick" oder "doubleClick" auf einem Objekt ausgeführt wurde.
Folgenden Code habe ich dazu gefunden und etwas abgewandelt.
Die funktion ist schonmal gegeben.
Ich werde aber das Gefühl nicht los, dass das auch anders geht.
Wie bekomme ich eine Kommunikation von dem Click und dem Tick event hin?
Oder ist es der richtige Weg dass ich das MouseEventArg an eine Variable übergbe und dann im Tick mir darüber die gedrückte Taste besorge?
ich möchte gerne herausbekommen, ob "singleClick" oder "doubleClick" auf einem Objekt ausgeführt wurde.
Folgenden Code habe ich dazu gefunden und etwas abgewandelt.
Die funktion ist schonmal gegeben.
Ich werde aber das Gefühl nicht los, dass das auch anders geht.
Wie bekomme ich eine Kommunikation von dem Click und dem Tick event hin?
Oder ist es der richtige Weg dass ich das MouseEventArg an eine Variable übergbe und dann im Tick mir darüber die gedrückte Taste besorge?
VB.NET-Quellcode
- Private WithEvents _doubleClickTimer As New Timer()
- Private _isFirstClick As Boolean = True
- Private _isDoubleClick As Boolean = False
- Private _milliseconds As Integer = 0
- Private _ClickMouseEvent As MouseEventArgs
- #Region "grpZeichnen Click"
- Public Sub grpzeichnen_Click(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles grpzeichnen.MouseClick, grpzeichnen.MouseDoubleClick
- _ClickMouseEvent = e
- If _isFirstClick = True Then
- _isFirstClick = False
- _doubleClickTimer.Start()
- Else
- If _milliseconds <= SystemInformation.DoubleClickTime Then
- _isDoubleClick = True
- End If
- End If
- End Sub
- 'Timmer für doppelklick
- Private Sub _CheckDBL_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles _doubleClickTimer.Tick
- _milliseconds += 100
- If _milliseconds >= SystemInformation.DoubleClickTime Then
- _doubleClickTimer.Stop()
- If _isDoubleClick = True Then
- Select Case _ClickMouseEvent.Button
- Case Windows.Forms.MouseButtons.Left
- MessageBox.Show("left double")
- Case Windows.Forms.MouseButtons.Right
- MessageBox.Show("right double")
- End Select
- Else
- Select Case _ClickMouseEvent.Button
- Case Windows.Forms.MouseButtons.Left
- MessageBox.Show("left single")
- Case Windows.Forms.MouseButtons.Right
- MessageBox.Show("right single")
- End Select
- End If
- _isFirstClick = True
- _isDoubleClick = False
- _milliseconds = 0
- End If
- End Sub
- #End Region
"Mann" lernt mit seinen Projekten.