protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (e.Button != MouseButtons.Left) { return; } int[] columnWidths = ColumnPositioning.CalculateColumnWidths(this.Columns, this.Width, 10, out _, out _); ColumnPositioning.HitTest(columnWidths, this.GetHScrollValue(), e.X, 5, out int columnIndex, out bool resizeHandle); if (resizeHandle) { this.resizeDragInfo = new ResizeDragInfo(this.Columns[columnIndex], e.X); } }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (this.resizeDragInfo.Active) { this.Cursor = Cursors.VSplit; ColumnPositioning.ResizeDrag(this.resizeDragInfo, e.X, 10); this.RecalculateScrollBar(); return; } int[] columnWidths = ColumnPositioning.CalculateColumnWidths(this.Columns, this.Width, 10, out _, out _); ColumnPositioning.HitTest(columnWidths, this.GetHScrollValue(), e.X, 5, out _, out bool resizeHandle); this.Cursor = resizeHandle ? Cursors.VSplit : Cursors.Default; }