Пример #1
0
        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);
                }
            }
        }
Пример #2
0
 protected virtual void grid_MouseLeave(GridVirtual sender, EventArgs e)
 {
     sender.ChangeMouseCell(Position.Empty);
 }
Пример #3
0
		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);
				}
			}
		}
Пример #4
0
		protected virtual void grid_MouseLeave(GridVirtual sender, EventArgs e)
		{
			sender.ChangeMouseCell(Position.Empty);
		}