public override void CancelMode(GridCellHitTestInfo ht) { base.CancelMode(ht); MouseOverRange = GridRangeInfo.Empty; Grid.AutoScrolling = ScrollBars.None; _mouseDown = false; }
public override void MouseDown(MouseEventArgs e, GridCellHitTestInfo ht) { base.MouseDown(e, ht); Grid.AutoScrolling = ScrollBars.Both; Rectangle bounds = Grid.RangeInfoToRectangle(Grid.ScrollableGridRangeInfo); bounds.Intersect(Grid.GridBounds); Grid.AutoScrollBounds = bounds; _mouseDown = true; }
public override void MouseMove(MouseEventArgs e, GridCellHitTestInfo ht) { if (ht.CellButtonBounds.Contains(new Point(e.X, e.Y))) { // Set_mouseDown(ht, true); } else { // Set_mouseDown(ht, false); GridRangeInfo range = Grid.PointToRangeInfo(new Point(e.X, e.Y), -1); MouseOverRange = range; } }
public override void MouseUp(MouseEventArgs e, GridCellHitTestInfo ht) { if (!MouseOverRange.IsEmpty) { MessageBox.Show("You dragged onto cell " + MouseOverRange.ToString()); } else { MessageBox.Show("Press this button and then drag over another cell " + MouseOverRange.ToString()); } base.MouseUp(e, ht); MouseOverRange = GridRangeInfo.Empty; Grid.AutoScrolling = ScrollBars.None; Grid.ScrollCellInView(ht.RowIndex, ht.ColIndex); _mouseDown = false; }
public override Cursor GetCursor(GridCellHitTestInfo ht) { return(_mouseDown && MouseOverRange.Equals(GridRangeInfo.Cell(ht.RowIndex, ht.ColIndex)) ? Cursors.No : Cursors.Hand); }