如何在按住滚轮(中间)按钮时编写鼠标滚轮滚动事件?

时间:2016-09-29 10:11:57

标签: vb.net

有人可以指导我在vb.net中达到这个要求吗? 算法:

If middle click pressed AND mouse wheel scroll up
number ++;
else
number--;

我试过了,但它没有用:

If e.Button = MouseButtons.Middle and e.Delta > 0

我想要像Mouse Down和Mouse Wheel事件的组合,它可以检测中间点击和鼠标滚轮滚动。

1 个答案:

答案 0 :(得分:0)

您需要处理多个事件。您需要捕获MouseWheel事件和MouseDown / MouseUP事件。

Private mouseDown As Boolean = False
Private Sub Form1_MouseWheel(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
    If e.Delta > 0 And mouseDown Then
        Console.WriteLine("Scrolling with button down")
    Else
        Console.WriteLine("Button Not down whilst scrolling")
    End If
End Sub

Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles MyBase.MouseDown
    If e.Button = MouseButtons.Middle Then
        mouseDown = True
    End If
End Sub

Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles MyBase.MouseUp
    If e.Button = MouseButtons.Middle Then mouseDown = False
End Sub

当鼠标中键停止时写入私有变量,然后在wheel处理程序中运行条件语句。