Back to Devexpress

ConnectorShape Class

officefileapi-devexpress-dot-docs-dot-presentation-42e6ef1d.md

latest5.5 KB
Original Source

ConnectorShape Class

A connector shape.

Namespace : DevExpress.Docs.Presentation

Assembly : DevExpress.Docs.Presentation.v25.2.dll

NuGet Package : DevExpress.Docs.Presentation

Declaration

csharp
public class ConnectorShape :
    SimpleShape
vb
Public Class ConnectorShape
    Inherits SimpleShape

The following members return ConnectorShape objects:

Remarks

To add a connector between shapes, create a ConnectorShape object and add it to the Slide.Shapes collection. Specify the following connector properties:

StartShape | EndShapeSpecify start and end shapes to connect.StartShapeSiteIndex | EndShapeSiteIndexSpecify connection point indexes of connected shapes. The index starts with the top side (0) and increases counterclockwise. Use the shape.Type.Geometry.ConnectionSites.Count property to obtain the number of connection sites for the current shape.TypeSpecifies the connector type.OutlineSpecifies connector appearance.

The following code snippet adds a connector between two shapes:

csharp
using DevExpress.Docs.Presentation;
using System.Drawing;

namespace PresentationApiSample;

public class Program {
    public static void Main(string[] _) {
        //...

        Shape shape1 = new Shape(ShapeType.Rectangle);
        shape1.Outline = new OutlineStyle { Fill = new SolidFill(Color.DarkGreen), Width = 8 };
        shape1.X = 30;
        shape1.Y = 30;
        shape1.Width = 800;
        shape1.Height = 800;
        slide.Shapes.Add(shape1);

        Shape shape2 = new Shape(ShapeType.Rectangle);
        shape2.Outline = new OutlineStyle { Fill = new SolidFill(Color.DarkGreen), Width = 8 };
        shape2.X = 1200;
        shape2.Y = 1200;
        shape2.Width = 800;
        shape2.Height = 800;
        slide.Shapes.Add(shape2);

        ConnectorShape connector = new ConnectorShape();
        connector.StartShape = shape1;
        connector.EndShape = shape2;
        connector.StartShapeSiteIndex = 2;
        connector.EndShapeSiteIndex = 0;
        connector.Type = ConnectorShapeType.Curved;

        connector.Outline = new LineStyle {
            Fill = new SolidFill(Color.Red),
            Width = 6,
            EndArrowType = ArrowType.TriangleArrow,
            EndLength = ArrowSize.Large,
            EndWidth = ArrowSize.Large
        };
        slide.Shapes.Add(connector);
    }
}
vb
Imports DevExpress.Docs.Presentation
Imports System.Drawing

Namespace PresentationApiSample

    Public Class Program
        Public Shared Sub Main(__ As String())
        ' ...

        Dim shape1 As Shape = New Shape(ShapeType.Rectangle)
        shape1.Outline = New OutlineStyle With {
                .Fill = New SolidFill(Color.DarkGreen),
                .Width = 8
            }
        shape1.X = 30
        shape1.Y = 30
        shape1.Width = 800
        shape1.Height = 800
        slide.Shapes.Add(shape1)

        Dim shape2 As Shape = New Shape(ShapeType.Rectangle)
        shape2.Outline = New OutlineStyle With {
                .Fill = New SolidFill(Color.DarkGreen),
                .Width = 8
            }
        shape2.X = 1200
        shape2.Y = 1200
        shape2.Width = 800
        shape2.Height = 800
        slide.Shapes.Add(shape2)

        Dim connector As ConnectorShape = New ConnectorShape()
        connector.StartShape = shape1
        connector.EndShape = shape2
        connector.StartShapeSiteIndex = 2
        connector.EndShapeSiteIndex = 0
        connector.Type = ConnectorShapeType.Curved

        connector.Outline = New LineStyle With {
            .Fill = New SolidFill(Color.Red),
            .Width = 6,
            .EndArrowType = ArrowType.TriangleArrow,
            .EndLength = ArrowSize.Large,
            .EndWidth = ArrowSize.Large
        }
        slide.Shapes.Add(connector)
        End Sub
    End Class
End Namespace

Implements

ICloneable

Inheritance

Object PresentationObject ShapeBase StyledShapeBase SimpleShape ConnectorShape

See Also

ConnectorShape Members

DevExpress.Docs.Presentation Namespace