Skip to main content

How to: Create a Shape Connector

  • 2 minutes to read

You can connect two shapes with a connector. This example illustrates how to create a shape connector, modify it, and attach both its ends to shapes.

Create a Shape Connector

Call the ShapeCollection.AddConnector method to create an unbound shape connector.

IMAGE

Shape shapeConnector = worksheet.Shapes.AddConnector(ConnectorType.Curved, 10, 10, 500, 100);

Modify a Shape Connector

The table below lists an API used to change the connector’s appearance.

Task

API

Change the connector’s type

ConnectorFormat.ConnectorType

Change the connector’s color and thickness

Outline

Width

Specify arrowhead options for the connector’s start

StartArrowheadType

StartArrowheadWidth

StartArrowheadLength

Specify arrowhead options for the connector’s end

EndArrowheadType

EndArrowheadWidth

EndArrowheadLength

The code sample below shows how to use these members to make the connector look as it does on the following image.

IMAGE

// Change the connector's color and thickness.
shapeConnector.Outline.SetSolidFill(Color.Black);
shapeConnector.Outline.Width = 2.5;

// Specify arrowhead options for the connector's ends.
ConnectorFormat connectorFormat = shapeConnector.ConnectorFormat;
connectorFormat.Arrows.StartArrowheadType = ArrowheadType.Stealth;
connectorFormat.Arrows.StartArrowheadWidth = ArrowheadSize.Large;
connectorFormat.Arrows.StartArrowheadLength = ArrowheadSize.Small;

connectorFormat.Arrows.EndArrowheadType = ArrowheadType.Stealth;
connectorFormat.Arrows.EndArrowheadWidth = ArrowheadSize.Large;
connectorFormat.Arrows.EndArrowheadLength = ArrowheadSize.Small;

Attach Shapes to the Connector

The following methods allow you to link shapes to a connector.

Check the ShapeGeometry.ConnectionSiteCount property to retrieve the shape’s connection sites’ number. The sites’ index order is different for each shape. Generally, the index begins with the top side (0) and grows counterclockwise, as shown below.

IMAGE

As for the 3-D shapes, the connection sites’ index changes as follows.

IMAGE

The code sample shows how to attach shapes to the connector. The connector is bound to the third site of each shape.

IMAGE

connectorFormat.ConnectStartPoint(shape1, 3);
connectorFormat.ConnectEndPoint(shape2, 3);

Tip

Call the ConnectorFormat.DisconnectStartPoint or ConnectorFormat.DisconnectEndPoint method to detach the connector from shapes.