private void MdiChild_MouseUp(object sender, MouseEventArgs e) { MainForm parent = GetParent(); if(e.Button == MouseButtons.Left) { if(isDrawing) { bufferedGraphics.Render(); if(currentFigure.IsInside(imageSize)) { if (currentFigure is Text) { MyTextBox textBox = new MyTextBox ( currentFigure as Text, this , MdiParent as MainForm); textBox.Show(AutoScrollPosition.X, AutoScrollPosition.Y); } if(parent.GridAutoDrag){ currentFigure.DragToGrid ( parent.GridStep, imageSize ); } listFigures.Add(currentFigure); } isModified = true; } if (isSelecting){ int X = e.X - AutoScrollPosition.X; int Y = e.Y - AutoScrollPosition.Y; if (X == clickPoint.X && Y == clickPoint.Y){ bool select = false; foreach (Figure figure in listFigures){ if(figure.Contains ( clickPoint )){ select = true; figure.Selected = true; } } if(!select) UnselectAllFigures(); } } if(isMoving){ int X = e.X - AutoScrollPosition.X; int Y = e.Y - AutoScrollPosition.Y; int shiftX = X - clickPoint.X; int shiftY = Y - clickPoint.Y; bool fits = true; foreach(Figure figure in movingFigures){ if (! figure.IsInside ( imageSize, shiftX, shiftY )){ fits = false; break; } } if(fits){ foreach(Figure figure in movingFigures) { figure.Move ( shiftX, shiftY ); if(parent.GridAutoDrag) { figure.DragToGrid(parent.GridStep, imageSize); } } isModified = true; } } if(isEditedResizing){ int X = e.X - AutoScrollPosition.X; int Y = e.Y - AutoScrollPosition.Y; int shiftX = X - clickPoint.X; int shiftY = Y - clickPoint.Y; editedFigure.Resize (shiftX, shiftY, resizingType, imageSize ); isModified = true; if(parent.GridAutoDrag) editedFigure.DragToGrid ( parent.GridStep, imageSize ); } currentFigure = null; movingFigures.Clear(); isDrawing = false; isSelecting = false; isMoving = false; isEditedResizing = false; Invalidate(); } }
private void MdiChild_MouseDoubleClick(object sender, MouseEventArgs e) { MainForm parent = GetParent(); if(parent.SelectMode){ UnselectAllFigures(); foreach (Figure figure in listFigures){ if ( figure.Contains ( clickPoint ) ){ figure.Edited = true; editedFigure = figure; isEditing = true; break; } } if(editedFigure != null && editedFigure is Text) { MyTextBox textBox = new MyTextBox(editedFigure as Text, this, MdiParent as MainForm); textBox.Show(AutoScrollPosition.X, AutoScrollPosition.Y); } } }