void ProcessMouseDown(VGridControl vGrid, MouseEventArgs e)
 {
     if (vGrid == null)
     {
         return;
     }
     captureHitInfo = vGrid.CalcHitInfo(new Point(e.X, e.Y));
 }
        void ProcessDragDrop(VGridControl target, DragEventArgs e)
        {
            DragInfo     dragInfo = (DragInfo)e.Data.GetData(typeof(DragInfo));
            VGridControl source   = dragInfo.Grid;
            DataItem     item     = (DataItem)dragInfo.Data;

            if (item == null || source == null || target == null)
            {
                return;
            }
            VGridHitInfo dropHitInfo       = target.CalcHitInfo(target.PointToClient(new Point(e.X, e.Y)));
            int          targetRecordIndex = GetRecordIndex(dropHitInfo);

            RemoveRecord(source, item);
            AddRecord(target, item, targetRecordIndex);
            source.RefreshDataSource();
            target.RefreshDataSource();
        }
        private void vGridControl1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if (isDragging)
            {
                VGridControl vGrid = sender as VGridControl;

                VGridHitInfo info = vGrid.CalcHitInfo(new Point(e.X, e.Y));
                if (((info.HitInfoType == HitInfoTypeEnum.HeaderCell) || (info.HitInfoType == HitInfoTypeEnum.Row)) &&
                    (info.Row != dragOverRow) && (info.Row != draggedRow))
                {
                    DragOverRow = info.Row;
                }
                else
                if ((info.HitInfoType == HitInfoTypeEnum.Empty) || (info.HitInfoType == HitInfoTypeEnum.ValueCell))
                {
                    DragOverRow = null;
                }
            }
        }