.net c# winform如何用鼠标随意移动控件,修改控件值,并导出成图片

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

想要在winform中用鼠标随意移动控件,只需要处理好控件的三个内置方法即可

(1).通过鼠标移动事件,来重新定位控件的位置

(2).通过鼠标按下事件,确定是否点击中有效控件,并将光标修改

1. Move_MouseMove

        /// <summary>
        /// 鼠标按下为true,放开为false
        /// </summary>
        private bool mousedown = false;
        /// <summary>
        /// 鼠标在事件源的位置,分别为x和y坐标
        /// </summary>
        private int currentx = 0;
        private int currenty = 0;

        private void Move_MouseDown(object sender, MouseEventArgs e)
        {
            currentx = e.X;
            currenty = e.Y;
            mousedown = true;
            if (sender is TextBox)
            {
                ((TextBox)sender).Cursor = Cursors.Arrow;
            }
        }

2. Move_MouseUp

        private void Move_MouseUp(object sender, MouseEventArgs e)
        {
            mousedown = false;
            if (sender is TextBox)
            {
                ((TextBox)sender).Cursor = Cursors.IBeam;
            }
        }

3. Move_MouseDown

        private void Move_MouseMove(object sender, MouseEventArgs e)
        {
            if (mousedown)
            {
                // 获取当前屏幕的光标坐标
                Point pTemp = new Point(Cursor.Position.X, Cursor.Position.Y);
                // 转换成工作区坐标
                pTemp = this.PointToClient(pTemp);
                // 定位事件源的 Location
                Control control = sender as Control;
                control.Location = new Point(pTemp.X - currentx, pTemp.Y - currenty);
                zlbllocation.Text = "坐标 x:" + (pTemp.X - currentx).ToString() + " y:" + (pTemp.Y - currenty).ToString();
            }
        }

可以将当前结果转成图片

        private void zlblsave_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();
            save.FileName = "img" + DateTime.Now.ToString("yyyymmss") + ".png";
            save.Filter = "(*.png)|*.png|" + "(*.*)|*.*";
            save.RestoreDirectory = true;
            if (save.ShowDialog() == DialogResult.OK)
            {
                Bitmap img = new Bitmap(zPalCon.Width, zPalCon.Height);
                zPalCon.DrawToBitmap(img, new Rectangle(0, 0, img.Width, img.Height));
                img.Save(save.FileName);
            }
            save.Dispose();
        }

以下是效果图.

移动前:

移动后:

动态展示效果:

附件:下载该文件资源,减少时间成本(增值服务)
winform控件移动
winform窗体下控件移动,并将移动后的结果,导出成图片
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
文件部分展示图(单击放大)
winform控件移动winform控件移动winform控件移动
留言
该资源可下载
File Source
.rar
70.99 KB
winform控件移动winform控件移动winform控件移动
最新结算
HTML5 3D效果网页视频背景代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
软件概要设计说明书Word下载
类型: .docx 金额: CNY 0.38¥ 状态: 待结算 详细>
软件概要设计说明书Word下载
类型: .docx 金额: CNY 3.02¥ 状态: 待结算 详细>
.net c#获取声卡信息,声卡数量
类型: .rar 金额: CNY 30.96¥ 状态: 待结算 详细>
.net c#获取声卡信息,声卡数量
类型: .rar 金额: CNY 3.87¥ 状态: 待结算 详细>
.net c#获取电脑的安装软件列表信息,包含名称和版本号
类型: .rar 金额: CNY 30.96¥ 状态: 待结算 详细>
.net c#获取电脑的安装软件列表信息,包含名称和版本号
类型: .rar 金额: CNY 3.87¥ 状态: 待结算 详细>
.net c#获取电脑显示适配器信息
类型: .rar 金额: CNY 30.96¥ 状态: 待结算 详细>
.net c#获取电脑的安装软件列表信息,包含名称和版本号
类型: .rar 金额: CNY 3.87¥ 状态: 待结算 详细>
.net c#获取电脑的安装软件列表信息,包含名称和版本号
类型: .rar 金额: CNY 30.96¥ 状态: 待结算 详细>
各执行环节公正透明,帮助企业完成从赛制策划、活动推广、评委评选到版权转让等系列工作,专业、高效、值得信赖。平均每场赛事可征集到数百至数千组源码作品
合作伙伴
联系我们
  • 邮箱:raozetian@hotmail.com
Copyright 2023-2024 eeigg.com·皖ICP备2024038726号-1
打赏文章