首页

winform 实现鼠标拖放图片, 随鼠标移动的图像实例 附完整源码

c#

2020-8-30

鼠标拖动图片,然后图片随着鼠标移动,放开鼠标后 图片则停留在新位置,如下图效果

 

    public partial class Frm_Main : Form
    {
        bool flag = false;
        int x, y;
        public Frm_Main()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //设置文件的类型
            openFileDialog1.Filter = "*.jpg,*.jpeg,*.bmp,*.gif,*.ico,*.png,*.tif,*.wmf|*.jpg;*.jpeg;*.bmp;*.gif;*.ico;*.png;*.tif;*.wmf";
            openFileDialog1.ShowDialog(); 									//打开文件对话框
            Image myImage = System.Drawing.Image.FromFile(openFileDialog1.FileName); 	//根据文件的路径实例化Image类
            pictureBox1.Image = myImage; 									//显示打开的图片
            pictureBox1.Height = myImage.Height;		//根据图片大小设置pictureBox1控件的高度
            pictureBox1.Width = myImage.Width; 		//根据图片大小设置pictureBox1控件的高度
        }

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            flag = true;													//标识,鼠标按下
            x = e.X;													//记录鼠标的X坐标
            y = e.Y; 													//记录鼠标的Y坐标
        }

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (flag)
            {
                //设置pictureBox1控件的位置
                pictureBox1.Left = pictureBox1.Left   (e.X - x);
                pictureBox1.Top = pictureBox1.Top   (e.Y - y);
            }
        }

        private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            flag = false;
        }
    }
资源下载此资源下载价格为2D币(VIP免费),请先
资源文件列表
MouseMove.sln , 917
MouseMove.suo , 14336
MouseMove/bin/Debug/MouseMove.exe , 10240
MouseMove/bin/Debug/MouseMove.pdb , 24064
MouseMove/Frm_Main.cs , 1904
MouseMove/Frm_Main.designer.cs , 4075
MouseMove/Frm_Main.resx , 6017
MouseMove/MouseMove.csproj , 3987
MouseMove/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 7146
MouseMove/obj/Debug/MouseMove.csproj.FileListAbsolute.txt , 2210
MouseMove/obj/Debug/MouseMove.csproj.GenerateResource.Cache , 850
MouseMove/obj/Debug/MouseMove.csprojResolveAssemblyReference.cache , 1757
MouseMove/obj/Debug/MouseMove.exe , 10240
MouseMove/obj/Debug/MouseMove.Frm_Main.resources , 180
MouseMove/obj/Debug/MouseMove.pdb , 24064
MouseMove/obj/Debug/MouseMove.Properties.Resources.resources , 180
MouseMove/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll , 4608
MouseMove/Program.cs , 493
MouseMove/Properties/AssemblyInfo.cs , 1350
MouseMove/Properties/Resources.Designer.cs , 2858
MouseMove/Properties/Resources.resx , 5612
MouseMove/Properties/Settings.Designer.cs , 1109
MouseMove/Properties/Settings.settings , 249
没有账号? 忘记密码?

社交账号快速登录