using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.IO;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Point p;
private void button1_MouseDown(object sender, MouseEventArgs e)
{
//记录鼠标按下时。鼠标在控件Button里面的位置
//因为要偏移,所以必须取负值
p.X = -e.X;
p.Y = -e.Y;
}
private void button1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{//-------判断是否左键按下
Point MouseP = Control.MousePosition; //获取鼠标光标在屏幕的位置
MouseP.Offset(p.X, p.Y); //偏移,以确定拖动点,为鼠标Down时的位置
((Control)sender).Location = ((Control)sender).Parent.PointToClient(MouseP); //将指定屏幕点的位置计算成工作区坐标
}
}
}
}