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.2.dll
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;
}
}