C#实现随鼠标移动窗体 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