Skip to main content

DiagramControl.QueryConnectionPoints Event

Fires each time the end-user moves the cursor with the active Connector Tool near shapes or their connection points.

Namespace: DevExpress.XtraDiagram

Assembly: DevExpress.XtraDiagram.v24.1.dll

NuGet Package: DevExpress.Win.Diagram

Declaration

[DiagramCategory(DiagramCategory.DiagramItems)]
public event EventHandler<DiagramQueryConnectionPointsEventArgs> QueryConnectionPoints

Event Data

The QueryConnectionPoints event's data class is DiagramQueryConnectionPointsEventArgs. The following properties provide information specific to this event:

Property Description
Connector Returns the connector whose point is being moved by the end-user.
ConnectorPointType Returns the type of the connection point that is being moved by the end-user.
HoveredItem Returns the item hovered with the connection point that is being moved by the end-user.
ItemConnectionBorderState Specifies whether to enable connection to an item and show a visual indication.
ItemConnectionPointStates Provides access to the collection of objects that represent connection points of a diagram item.
OppositeItem Returns the diagram item to which the opposite connection point is glued.
OppositeItemPointIndex Returns the index of the opposite connection point.
OppositePoint Returns the coordinates of the opposite connection point.

Remarks

The event’s ItemConnectionBorderState property specifies whether to highlight the shape or the connection point near the cursor.

The HoveredItem property returns the item hovered with the connection point that is being moved by the end-user. The ItemConnectionPointStates property provides access to the collection of the item’s connection points. The OppositeItem property returns the diagram item to which the opposite connection point is glued.

The example below illustrates how to prevent the end-user from attaching connectors to a shape.

void diagram_QueryConnectionPoints(object sender, DiagramQueryConnectionPointsEventArgs e) {
    if ((e.HoveredItem as DiagramShape).Content == "Connection is not allowed") {
        e.ItemConnectionBorderState = ConnectionElementState.Hidden;
        foreach (var p in e.ItemConnectionPointStates)
            p.State = ConnectionElementState.Hidden;
    }
}
See Also