Back to Devexpress

ConnectorShape.EndShapeSiteIndex Property

officefileapi-devexpress-dot-docs-dot-presentation-dot-connectorshape-3133ef83.md

latest4.5 KB
Original Source

ConnectorShape.EndShapeSiteIndex Property

Gets or sets the index of the connection point on the end shape to which the connector is attached.

Namespace : DevExpress.Docs.Presentation

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

NuGet Package : DevExpress.Docs.Presentation

Declaration

csharp
public int EndShapeSiteIndex { get; set; }
vb
Public Property EndShapeSiteIndex As Integer

Property Value

TypeDescription
Int32

A zero-based index.

|

Remarks

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.

Example

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

See Also

DevExpress Presentation API Library: Work with Shapes

ConnectorShape Class

ConnectorShape Members

DevExpress.Docs.Presentation Namespace