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

2021-03-18 05:26

阅读:497

标签:cat   new   parent   public   int   一个   void   span   运行   

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

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

标签:cat   new   parent   public   int   一个   void   span   运行   

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


评论


亲,登录后才可以留言!