protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e) { Point p = new Point(e.X, e.Y); Point pp = PointToView(p); MouseEventArgs me = new MouseEventArgs(e.Button, e.Clicks, pp.X, pp.Y, e.Delta); if (IsDragging) { DragController controller = typeof(GridControl).GetProperty("DragController", BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.NonPublic).GetValue(View.GridControl, null) as DragController; if (me.Button != MouseButtons.Left) { controller.CancelDrag(); } else { controller.DoDragging(me); //DoDragging(me); } return; } Size dragSize = System.Windows.Forms.SystemInformation.DragSize; if (PressedItem != null) { if ((e.Button & MouseButtons.Left) != 0) { if (Math.Abs(p.X - downPoint.X) > dragSize.Width || Math.Abs(p.Y - downPoint.Y) > dragSize.Height) { if (ViewHandler != null) { (ViewHandler as GridHandler).DownPointHitInfo = View.CalcHitInfo(p); (ViewHandler as GridHandler).DoStartDragObject(PressedItem, new Size(ClientSize.Width, 23)); if (IsDragging) { Capture = true; } else { PressedItem = null; } return; } } } } base.OnMouseMove(e); }