0
我想在一个WinForms mouseDown事件,能够做一些代码,直到一定的秒或MouseUp事件已经被解雇掉do while循环下去,直到按钮状态已经改变
我想是这样这
Dim counter As Integer = 0
Do Until Button.Key IsNot MouseDown
counter += 1
If counter > 3
Exit Do Loop
End If
Application.DoEvents()
Loop
现在我有像
seconds = 0
m_mouseButtonIsNotDown = False
Do Until m_mouseButtonIsNotDown
If e.Button = Windows.Forms.MouseButtons.Left Then
seconds += 1
If seconds > 5 Then
m_mouseButtonIsNotDown = True
End If
End If
Application.DoEvents()
Loop
我寻找所需的行为方式是,如果他们让一定量的循环处理的范围内去按钮如果它只是一个简单的鼠标点击事件的代码。如果mousedown已被保存超过3或5秒,则切换到拖放模式,以便它们可以将所需的行移动到另一个datagridview。我试图使用Timer和StopWatch类,它不工作,我也不会期望它。如果我有鼠标点击事件和mousedown事件,因为mousedown在基本点击事件上执行,它不起作用。有任何想法吗?请记住,它不能依赖于mouseUp事件,因为拖放操作无法进行。
为什么你一直试图改变代码片段?它编译得很好,让HitTestInfo可用对其他用途很重要。 –
@HansPassant它不会编译,除非您告诉您调暗的是什么。只是说昏暗的命中= DataGridView1.HitTest(downPos.X,downPos.Y),而不作为条款不编译 –
每个人都使用选项推断,缺省设置。如有必要,请提出一个问题。 –