/// <summary> /// Copies all selected elements /// </summary> /// <param name="dx">Moves selected element by dx</param> /// <param name="dy">Moves selected element by dy</param> public void CopyMultiSelected(int dx, int dy) { List <ShapeElement> tempList = new List <ShapeElement>(); foreach (ShapeElement shape in this.shapes) { if (shape.Selected) { ShapeElement temp = shape.Copy(); temp.Selected = false; temp.Move(dx, dy); tempList.Add(temp); this.handlerCol = new BaseHandlerCollection(temp); selectedElement = temp; selectedElement.EndMoveRedim(); } } foreach (ShapeElement temp in tempList) { this.shapes.Add(temp); StoreInBuffer(BufferOperation.Insert, temp); } }