摘要:[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...(這樣是好還是不好?)