[Silverlight][VB]自訂Mouse double Click

  • 2226
  • 0
  • 2011-06-11

摘要:[Silverlight][VB]自訂Mouse double Click

老話一句...網路搜尋又是一堆文章,有高級的有膚淺的....這兒我就提供最膚淺的作法

Private lastClickTime As DateTime
Public Event MouseDoubleClickEvent(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
Private Sub MouseLeftButtonDown(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)
    Dim TimeInterval As TimeSpan = DateTime.Now - lastClickTime
    If TimeInterval.TotalMilliseconds < 300 Then
        RaiseEvent MouseDoubleClickEvent(sender, e)
    End If
    lastClickTime = DateTime.Now
End Sub

另一個寫法...
    Private doubleClickTime As Double
    Private Sub MouseLeftButtonDown(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles Me.MouseLeftButtonDown
        Dim ts As Double = DateTime.Now.Ticks - doubleClickTime
        If ts < 2310000 And ts > 0 Then
            e.Handled = True
            
        End If
        doubleClickTime = DateTime.Now.Ticks
    End Sub

利用mousedown事件,抓相隔時間,就是這個樣子啦~如果你覺得這樣不夠厲害,可以自己去寫behavior來加載(寫好記得分享給我咧~)...

ps..VB自訂事件可以不用Delegate...(這樣是好還是不好?)