We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Loop connector strange behavior

Thread ID:





106125 Dec 11,2012 11:50 PM UTC Aug 22,2014 12:38 PM UTC WinForms 6
Tags: Diagram
Klaudiusz Bryja
Asked On December 11, 2012 11:50 PM UTC


1. We use nodes connected by OrthogonalConnector. We notice very strange behavior. We add node and set looped connector (FromNode == ToNode) and set end points on different edges (e.g. left and top) connector works fine. But when line is from and to the same edge (look at 1.png from attachment) after some operation (e.g. move vertical line segment) this connector will decrease size to 0 (look at 2.png). I notice that you call methods MergeControlPoints (or MergePoints) which do this but why? I want my connector look exactly like on 1.png image. How can I avoid this?

2. Look at 3.png. This is how node moving works with loop connector. It increase or decrease connector bounding size. Is it possible to move connector like this together with node? I try to select connector when moving starts but selection in that case start work strange. How can I set properly selection on connector before moving start?



Amsath Ali M [Syncfusion]
Replied On December 17, 2012 12:57 PM UTC

Hi kaludiusz,


Thanks for your interest in Syncfusion products.

1. With regards to your query “I notice that you call methods MergeControlPoints (or MergePoints) which do this but why?” please note that the diagram control adds all the points which are located inside the path of the connector while moving it. The MergeControlPoints (or mergePoints) methods are used to merge the points which are placed in the line that is removes unwanted control points which are present in the same line segment of the connector. These methods are also used to restrict the connector from adding unwanted line segments to the connector.

2. I want my connector look exactly like on 1.png image. How can I avoid this?

Currently we don’t have support to establish self-loop connection for nodes. This has been suspected to be a feature. Please create a DT incident for your query so that we can update the patch for this feature.

You can create the DT incident from the following link.

In the interests of maintaining confidentiality, we have a policy of not sharing patches or otherwise proprietary customer specific information in the public Forum.


Please let us know if you have any queries.



Amsath Ali. M

Dominik Gregotsch
Replied On August 12, 2014 08:26 AM UTC


I also need a self-loop connection, is this now implemented?
If yes how does it work?
If no will it come in a new Update?


Klaudiusz Bryja
Replied On August 18, 2014 12:48 PM UTC


In my case it works but I add a lot of code to create diagram (my own nodes, connectors, controller, etc.) so I can't check if it works whitout my changes.

Best regards


Ashok Kumar V [Syncfusion]
Replied On August 20, 2014 08:39 AM UTC

Hi Klaudiusz,

Thanks for your update.

We are happy to hear that your requirement is achieved. Could you please send us your Custom “Self Loop” implementation, so that we could check and let you know if it works without your changes?

Please let us know if any concern,


Ashok Kumar.

Klaudiusz Bryja
Replied On August 20, 2014 09:50 AM UTC


My mistake. It was some time ago so I check what I did to get loop connector. If I'm not wrong I do this:
1. I store all connector points (from property PathPoints)
2. Diagram Creation:
  a). Create connector instance
  b). Connect to nodes (method TryConnect)
  c). Call connector.SetPoints(points stored in 1)

I was looking for if I was doing something more but it seems that it's all.

Best regards,

Ashok Kumar V [Syncfusion]
Replied On August 22, 2014 12:38 PM UTC

Hi Klaudiusz,

Thanks for your update.

We are glad to inform you that we have created a simple sample to achieve your requirement with our solution. We suggest you to use diagram.EventSink’s “NodeSelected” Event to achieve your requirement. Please refer the below code snippet attached sample for your reference.

Here is the code snippet:


foreach (ConnectorBase bs in evtArgs.Node.Edges)


    //Checking whether the connector is self-looped

    if (bs.FromNode == bs.ToNode)


        //Adding the self-loop connector to the selection List




Please let us know if any concern.


Ashok Kumar.

Attachment: Forum_9e3dc648.zip


This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Please sign in to access our forum

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon