在 C# WinForm 中使用鼠标滚轮缩放,可以通过以下步骤实现:

  1. 在窗体中添加一个控件,例如 PictureBox,用于显示需要缩放的内容。

  2. 在 PictureBox 的 MouseWheel 事件中添加代码,实现缩放操作。代码示例如下:

private void pictureBox1_MouseWheel(object sender, MouseEventArgs e)
{
    // 获取当前缩放比例
    float currentZoom = pictureBox1.SizeMode == PictureBoxSizeMode.Zoom ? pictureBox1.Image.Width / pictureBox1.ClientSize.Width : 1;

    // 计算新的缩放比例
    float newZoom = currentZoom + e.Delta / 120.0f * 0.1f;

    // 设置新的缩放比例
    if (newZoom > 0.1f && newZoom < 10.0f)
    {
        pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
        pictureBox1.Width = (int)(pictureBox1.Image.Width * newZoom);
        pictureBox1.Height = (int)(pictureBox1.Image.Height * newZoom);
        pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
    }
}

在这个示例中,我们使用了 MouseEventArgs 的 Delta 属性获取鼠标滚轮滚动的距离,根据滚动距离计算新的缩放比例,并根据新的缩放比例设置 PictureBox 的大小和 SizeMode。

注意,我们在设置 PictureBox 的 SizeMode 时先将其设置为 Normal,再设置为 Zoom,这是为了避免在缩放过程中出现图片拉伸的问题。

  1. 运行程序,使用鼠标滚轮滚动即可实现缩放操作。

以上就是在 C# WinForm 中使用鼠标滚轮缩放的实现方法。

C# WinForm 鼠标滚轮缩放实现方法

原文地址: https://www.cveoy.top/t/topic/oDnZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录