private void btnCrLineColor_Click(object sender, RoutedEventArgs e) { if (checkActive()) { MessageBox.Show(err, "Lỗi", MessageBoxButton.OK, MessageBoxImage.Error); return; } try { Size s = new Size(app.ActiveSelection.SizeWidth, app.ActiveSelection.SizeHeight); ShapeRange rowRange = app.ActiveSelectionRange; ShapeRange colRev = app.ActiveSelectionRange; ShapeRange rowRev = app.ActiveSelectionRange; colRev.RemoveAll(); rowRev.RemoveAll(); rowRange.RemoveAll(); Size position = new Size(app.ActiveSelectionRange.PositionX, app.ActiveSelectionRange.PositionY); Size size = new Size(s.x * numCol.Value, s.y * numRow.Value); app.ActiveSelection.Delete(); Shape shapeCol = app.ActiveLayer.CreateLineSegment(position.x, position.y, position.x, position.y - size.y); shapeCol.Outline.Color.CMYKAssign(100, 0, 100, 0); double space = 0; for (int i = 0; i < numCol.Value; i++) { space += s.x; if (i % 2 == 0 || i == numCol.Value - 1) { colRev.Add(shapeCol.Duplicate(space, 0)); } else { shapeCol.Duplicate(space, 0); } } shapeCol.OrderToFront(); colRev.Flip(cdrFlipAxes.cdrFlipVertical); space = 0; Shape shapeRow = app.ActiveLayer.CreateLineSegment(position.x, position.y, position.x + size.x, position.y); shapeRow.Outline.Color.CMYKAssign(0, 100, 100, 0); rowRev.Add(shapeRow); for (int j = 0; j < numRow.Value; j++) { space += s.y; if (j % 2 != 0 || j == numRow.Value - 1) { rowRev.Add(shapeRow.Duplicate(0, -space)); } else { rowRange.Add(shapeRow.Duplicate(0, -space)); } } shapeRow.OrderToFront(); rowRange.AddRange(rowRev); rowRange.OrderReverse(); rowRev.Flip(cdrFlipAxes.cdrFlipHorizontal); app.ActiveLayer.CreateRectangle2(position.x, position.y - size.y, size.x, size.y).CreateSelection(); } catch (Exception ex) { MessageBox.Show(ex.Message + "\n" + ex.Source, "Lỗi"); } }