コード例 #1
0
 public override void CancelMode(GridCellHitTestInfo ht)
 {
     base.CancelMode(ht);
     MouseOverRange     = GridRangeInfo.Empty;
     Grid.AutoScrolling = ScrollBars.None;
     _mouseDown         = false;
 }
コード例 #2
0
        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;
        }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
        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;
        }
コード例 #5
0
 public override Cursor GetCursor(GridCellHitTestInfo ht)
 {
     return(_mouseDown && MouseOverRange.Equals(GridRangeInfo.Cell(ht.RowIndex, ht.ColIndex))
                         ? Cursors.No : Cursors.Hand);
 }