#region 移动窗体 移动窗口 private Point _mousePoint; private int topA(Control cc) { if (cc == null || cc == this) return 0; if (cc.Parent == null || cc.Parent == this) return cc.Top; else return topA(cc.Parent) + cc.Top; } private int leftA(Control cc) { if (cc == null || cc == this) return 0; if (cc.Parent == null || cc.Parent == this) return cc.Left; else return leftA(cc.Parent) + cc.Left; } private void labTitle_MouseDown(object sender, MouseEventArgs e) { Control cc = (Control)sender; if (e.Button == MouseButtons.Left) { _mousePoint.X = e.X + leftA(cc); _mousePoint.Y = e.Y + topA(cc); } } private void labTitle_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Top = MousePosition.Y - _mousePoint.Y; Left = MousePosition.X - _mousePoint.X; } } #endregion