/// <summary> /// Dùng để tạo mới một đối tượng hình ảnh, dựa vào giá trị thiết lập hiện tại của người dùng /// </summary> private void AddShape() { Brush brush = CreateBrush(); Pen pen = new Pen(color: lblBorderColor.BackColor, width: trbPenWidth.Value) { DashStyle = (DashStyle)cmbDashStyle.SelectedIndex, }; switch (MyShape) { case SHAPES.LINE: DrawObj.Add(new MyLine(pen, brush)); break; case SHAPES.ELLIPSE: DrawObj.Add(new MyEllipse(pen, brush)); break; case SHAPES.RECTANGLE: DrawObj.Add(new MyRectangle(pen, brush)); break; case SHAPES.CURVE: DrawObj.Add(new MyCurve(pen, brush)); break; case SHAPES.CLOSEDCURVE: DrawObj.Add(new MyClosedCurve(pen, brush)); break; case SHAPES.POLYGON: DrawObj.Add(new MyPolygon(pen, brush)); break; case SHAPES.CUSTOM: DrawObj.Add(new MyPath(pen, brush)); break; case SHAPES.ARC: DrawObj.Add(new MyArc(pen, brush, trbStartAngle.Value, trbSweepAngle.Value)); break; } DrawObj[DrawObj.Count - 1].IsFilled = this.Fill; DrawObj[DrawObj.Count - 1].IsDrawBorder = ckbBorder.Checked; }
private bool Group() { if (DrawObj.Count(shape => shape.IsSelected) > 1) { DrawObj.Add(new Group(DrawObj)); return(true); } else { return(false); } }
private void UnGroup() { for (int i = 0; i < DrawObj.Count; i++) { if (DrawObj[i].IsSelected) { if (DrawObj[i] is Group) { Group myGroup = DrawObj[i] as Group; //Chèn mỗi hình trong group vào lại trong List DrawObj myGroup.shapesInGroup.ForEach(shape => { DrawObj.Add(shape); shape.IsSelected = true; }); //Remove group khỏi list DrawObj.Remove(myGroup); } } } }
private bool Group() { if (DrawObj.Count(shape => shape.IsSelected) > 1) { Group group = new Group(); for (int i = 0; i < DrawObj.Count; i++) { if (DrawObj[i].IsSelected) { group.Add(DrawObj[i]); DrawObj.RemoveAt(i--); } } group.IsSelected = true; DrawObj.Add(group); return(true); } else { return(false); } }