1

编码:

private void Form1_MouseWheel(object sender, MouseEventArgs e)
        {
            if (leave == true)
            {
                timer1.Interval = 10;
            }
        }

我想这样做,如果我将鼠标滚轮转到我身边,它会减慢计时器将增加间隔,如果我将滚轮向上转动,它将减少间隔。

我该怎么做 ?

4

2 回答 2

5

使用MouseEventArgs.Delta属性

鼠标滚轮结合了滚轮和鼠标按钮的功能。车轮具有离散的、均匀间隔的凹口。当您旋转滚轮时,会在遇到每个凹槽时发送滚轮消息。一个车轮凹口,一个棘爪,由窗口常数 WHEEL_DELTA 定义,即 120。正值表示车轮向前旋转(远离用户);负值表示轮子向后旋转(朝向用户)。

private void Form1_MouseWheel(object sender, MouseEventArgs e)
{
    if (e.Delta > 0) //moved forward
    {
        timer1.Interval += 1000;
    }
    else //moved backword
    {
        timer1.Interval -= 1000;
    }
}
于 2013-10-11T14:45:16.090 回答
1

MouseEventArgs.Delta 检查鼠标移动了多少。如果delta是正增加速度,如果delta是负减少速度。

链接(http://msdn.microsoft.com/en-us/library/system.windows.forms.mouseeventargs.delta.aspx)显示了如何使用 C#使用delta

鼠标滚轮 http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mousewheel.aspx

于 2013-10-11T14:46:42.157 回答