2013-10-09 199 views
1

有沒有人有一個想法如何處理在VB.NET中的鼠標點擊和舉行事件?鼠標點擊並按住事件?

假設我想單擊並按住一個按鈕並在代碼背後執行一些操作,比如更改按鈕BackColor或更快地關閉窗口(就像當您在ms office 2013文件菜單中單擊然後使用左箭頭關閉該菜單)。

希望你明白我的意思

謝謝

+0

您需要考慮一點。檢測到「保持」需要一個定時器。當它打勾並且按鈕仍然關閉時,您可以觸發「保持」事件。 *更快*這個詞不可能適用於這種手勢。而且存在嚴重的事故風險,用戶只是不夠靈活,無法快速點擊以避免事件發生。你的奶奶不會喜歡它。 –

回答

1

您可以創建一個開始時的MouseDown被稱爲是全局定義一個計時器,然後結束對鼠標向上。然後,您可以設置一個條件,在您認爲它是「長時間點擊」之前需要經過多少毫秒。請參閱下面的示例代碼:

Public Class Form1 
Dim WithEvents timer As New Timer 
Dim milliseconds As Integer 


Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles MyBase.MouseDown 
    timer.Start() 
End Sub 

Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles MyBase.MouseUp 
    timer.Stop() 
    Label1.Text = "Button held down for: " & milliseconds & " milliseconds" 
    If milliseconds >= 10 then 'Mouse has been down for one second 
     DoSomething() 
    End If 
End Sub 

Private Sub EggTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timer.Tick 
    milliseconds += 1 
End Sub 


End Class 
1

的MouseDown是你在找什麼