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

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随处移动啦。

posted @ 2020-02-26 15:18  小大大小  阅读(967)  评论(0编辑  收藏  举报