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);
        }