2013-10-09 242 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是你在找什么