public PositionCollection GetCellsPositions() { PositionCollection l_List = new PositionCollection(); for (int r = Start.Row; r <= End.Row; r++) for (int c = Start.Column; c <= End.Column; c++) l_List.Add(new Position(r,c)); return l_List; }
/// <summary> /// Indicates if the specified range of cells is selected /// </summary> /// <param name="p_Range"></param> /// <returns></returns> public virtual bool Contains(Range p_Range) { if (p_Range.IsEmpty() || IsEmpty()) { return(false); } if (p_Range.ColumnsCount == 1 && p_Range.RowsCount == 1) { return(Contains(p_Range.Start)); } //Range for (int i = 0; i < m_RangeCollection.Count; i++) { if (m_RangeCollection[i].Contains(p_Range)) { return(true); } } PositionCollection positions = p_Range.GetCellsPositions(); for (int iPos = 0; iPos < positions.Count; iPos++) { if (Contains(positions[iPos]) == false) { return(false); } } return(true); }