/// <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);
            }
        }