protected virtual void grid_MouseMove(GridVirtual sender, System.Windows.Forms.MouseEventArgs e) { Position l_PointPosition = sender.PositionAtPoint(new Point(e.X, e.Y)); Cells.ICellVirtual l_CellPosition = sender.GetCell(l_PointPosition); //Call MouseMove on the cell that receive tha MouseDown event if (sender.MouseDownPosition.IsEmpty() == false) { Cells.ICellVirtual l_MouseDownCell = sender.GetCell(sender.MouseDownPosition); if (l_MouseDownCell != null) { sender.Controller.OnMouseMove(new CellContext(sender, sender.MouseDownPosition, l_MouseDownCell), e); } } else //se non ho nessuna cella attualmente che ha ricevuto un mousedown, l'evento di MouseMove viene segnalato sulla cella correntemente sotto il Mouse { // se non c'è nessuna cella MouseDown cambio la cella corrente sotto il Mouse #if !MINI sender.ChangeMouseCell(l_PointPosition); //in ogni caso cambio la cella corrente #endif if (l_PointPosition.IsEmpty() == false && l_CellPosition != null) { // I call MouseMove on the current cell only if there aren't any cells under the mouse sender.Controller.OnMouseMove(new CellContext(sender, l_PointPosition, l_CellPosition), e); } } }
protected virtual void grid_MouseLeave(GridVirtual sender, EventArgs e) { sender.ChangeMouseCell(Position.Empty); }
protected virtual void grid_MouseMove(GridVirtual sender, System.Windows.Forms.MouseEventArgs e) { Position l_PointPosition = sender.PositionAtPoint(new Point(e.X, e.Y)); Cells.ICellVirtual l_CellPosition = sender.GetCell(l_PointPosition); //Call MouseMove on the cell that receive tha MouseDown event if (sender.MouseDownPosition.IsEmpty() == false) { Cells.ICellVirtual l_MouseDownCell = sender.GetCell(sender.MouseDownPosition); if (l_MouseDownCell!=null) { sender.Controller.OnMouseMove(new CellContext(sender, sender.MouseDownPosition, l_MouseDownCell), e); } } else //se non ho nessuna cella attualmente che ha ricevuto un mousedown, l'evento di MouseMove viene segnalato sulla cella correntemente sotto il Mouse { // se non c'è nessuna cella MouseDown cambio la cella corrente sotto il Mouse #if !MINI sender.ChangeMouseCell(l_PointPosition);//in ogni caso cambio la cella corrente #endif if (l_PointPosition.IsEmpty() == false && l_CellPosition != null) { // I call MouseMove on the current cell only if there aren't any cells under the mouse sender.Controller.OnMouseMove(new CellContext(sender, l_PointPosition, l_CellPosition), e); } } }