private void MainForm_Load(object sender, EventArgs e)  
{
//绑定事件
MouseMove += Form_MouseMove;
MouseDown += Form_MouseDown;
}
private Point _mousePoint;
private void Form_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Top = MousePosition.Y - _mousePoint.Y;
Left = MousePosition.X - _mousePoint.X;
}
}
private void Form_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
_mousePoint.X = e.X;
_mousePoint.Y = e.Y;
}
}





如果窗体有标题 
Top -= SystemInformation.CaptionHeight;

如果有边框 

Top -= SystemInformation.FormBorderSize.Height
Left -= SystemInformation.FormBorderSize.Width