现在的位置: 首页 > 综合 > 正文

C#创建可以随意拖动的控件,拖动窗体上的任意控件到指定位置

2013年05月09日 ⁄ 综合 ⁄ 共 938字 ⁄ 字号 评论关闭

主要代码如下:

Point mouse_offset = new Point();

public MyPicture()
        {
           
this.MouseMove += new MouseEventHandler(Common_MouseMove);
           
this.MouseDown += new MouseEventHandler(Common_MouseDown);
        }

        private void Common_MouseMove(object sender, MouseEventArgs e)
        {
            Control control
= (Control)sender;
           
//((Control)sender).Cursor = Cursors.Arrow;
            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);
               
                    control.Left
= control.Left + e.X - mouse_offset.X;
                    control.Top
= control.Top + e.Y - mouse_offset.Y;
              
            }
        }
       
private void Common_MouseDown(object sender, MouseEventArgs e)
        {
            mouse_offset
= new Point(e.X, e.Y);
        }
我用的就是这段代码.

抱歉!评论已关闭.