protected override void OnMouseClick(MouseEventArgs e)
{
base.OnMouseClick(e);
Position clickPosition = PositionAtPoint(PointToClient(Control.MousePosition));
//Se ho precedentemente scatenato un MouseDown su una cella
// e se questa corrisponde alla cella sotto il puntatore del mouse (non posso usare MouseCellPosition perchè questa viene aggiornata solo quando non si ha una cella come MouseDownPosition
if (MouseDownPosition.IsEmpty() == false &&
MouseDownPosition == clickPosition)
{
Cells.ICellVirtual mouseDownCell = GetCell(MouseDownPosition);
if (mouseDownCell != null)
Controller.OnClick(new CellContext(this, MouseDownPosition, mouseDownCell), e);
}
}