C# 使用鼠标滚动实现图片的放大缩小及图片拖动

博主是去年从零基础开始接触C#,所以记录了很多比较基础的东西,故将之前的笔记写于此篇。本人才疏学浅,文中如果有不对或值得讨论的地方,欢迎大家提出来,一起探讨共同进步。👇👇👇

使用鼠标滚轮实现对图片的操作


在窗体中使用pictruebox控件 并设置其属性BackgroundimageLayoutZoom

public CHTWC101()
{
    InitializeComponent();
    //鼠标滚动
    this.MouseWheel += new MouseEventHandler(pictureBox1_MouseWheel);
    pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
}

private void pictureBox1_MouseWheel(object sender, 	 e)
{
    //throw new NotImplementedException();
    var t = pictureBox1.Size;
    t.Width += e.Delta;
    t.Height += e.Delta;
    pictureBox1.Size = t;
    //图片按中心比例放大缩小
    pictureBox1.Location = new Point((this.Width - pictureBox1.Width) / 2, (this.Height - 	  pictureBox1.Height) / 2);
}

//鼠标移动
int xPos;
int yPos;
bool MoveFlag;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
    MoveFlag = true;//已经按下.
    xPos = e.X;//当前x坐标.
    yPos = e.Y;//当前y坐标.
}

private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
    MoveFlag = false;
}

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
    if (MoveFlag)
    {
        pictureBox1.Left += Convert.ToInt16(e.X - xPos);//设置x坐标.
        pictureBox1.Top += Convert.ToInt16(e.Y - yPos);//设置y坐标.
    }
}

注:当加载窗体时,picturebox会显示在左上角,这时应该改变其属性Anchor(top left right bottom)

好啦!到这里已经成功啦,快去试试吧!✌
在这里插入图片描述

〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰

更多博客内容请查看 ✌ 可可西里的博客

如果喜欢的话可以点个赞和关注嗷~ 🤞🤞🤞

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页