如果相应地向上或向下滚动鼠标滚轮,我有一个图像我想增加或减小大小。如果图像达到设定的最大尺寸,它不会变大,反之亦然,如果使图像变小。我遇到的问题是,一旦您达到图像的最大尺寸并继续向上滚动然后向下滚动,图像不会立即变小,直到您向下滚动与向上滚动相同的次数,同时将图像置于最大尺寸并再次反转以使图像更小。ScrollWheelValue 是只读属性,因此无法重置。我试图添加一些逻辑,如果滚轮向上滚动并且图像的最大尺寸减去 120,因为 120 是鼠标每次滚动增加的值。谁能帮我解决这个问题?非常感谢
原始代码:
float scale = ms.ScrollWheelValue / 120;
scaleFactor = scale * scaleChange;
if (scaleFactor > MAX_SCALE)
{
scaleFactor = MAX_SCALE;
}
else if (scaleFactor < MIN_SCALE)
{
scaleFactor = MIN_SCALE;
}
新代码:
if (scaleFactor > MAX_SCALE)
{
scaleFactor = MAX_SCALE;
float newScale = ms.ScrollWheelValue / 120;
if (newScale > scale)
{
scaleCount = scaleCount - 120;
}
if (newScale < scale)
{
scaleCount = scaleCount + 120;
}
}
else if (scaleFactor < MIN_SCALE)
{
scaleFactor = MIN_SCALE;
float newScale = ms.ScrollWheelValue / 120;
if (newScale > scale)
{
scaleCount = scaleCount - 120;
}
if (newScale < scale)
{
scaleCount = scaleCount + 120;
}
}
else
{
scale = ms.ScrollWheelValue / 120 + scaleCount;
scaleFactor = scale * scaleChange;
}