C#设置一个控件可以鼠标拖动

时间:2020-02-26 15:59:40   收藏:0   阅读:78

C#设置一个控件可以鼠标拖动:

新建一个C#项目,

创建一个label控件,

设置label的鼠标按下和抬起事件分别为:label1_MouseDown和label1_MouseUp。

对代码进行如下修改。

    public partial class Form1 : Form
    {
        private Point mouse_offset;
        public Form1()
        {
            InitializeComponent();
        }
        private void label1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                Point mousePos = Control.MousePosition;
                mousePos.Offset(mouse_offset.X, mouse_offset.Y);
                ((Control)sender).Location = ((Control)sender).Parent.PointToClient(mousePos);
            }
        }

        private void label1_MouseDown(object sender, MouseEventArgs e)
        {
            mouse_offset = new Point(-e.X, -e.Y);
        }
    }

运行后,就可以拖动label随处移动啦。

原文:https://www.cnblogs.com/ming-4/p/12367197.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!