public bool AppliesOnMouseDown(MouseEventArgs e, DataGridView.HitTestInfo hit) { if (!ShouldChangeCursor(hit, _tableState, e.X)) { return(false); } bool leftedge = (e.X - hit.ColumnX) < (_tableState.ColumnWidth / 2); if (leftedge && hit.ColumnIndex == _tableState.GetFirstVisibleDataColumnIndex()) { return(false); } _operationStarted = false; _orgMouseX = Cursor.Position.X; _orgeX = e.X; _orgWidth = _tableState.ColumnWidth; _orgScroll = _tableState.GetCurrentScroll(); _orgNColumns = _tableState.CountVisibleDataColumns(hit.ColumnIndex, !leftedge); _orgSColumns = _orgScroll / _orgWidth; _orgSPixels = _orgScroll % _orgWidth; _lefthalf = _tableState.GetNormalizedXCoordinate(e.X) < 0.5; return(true); }