How to create a dummy node?

I need to create a dummy node on a link. I wrote code, that divides one link into two and creates a node between them, but I need a SELECTABLE and INVISIBLE dummy node. I founded on the forum some mentions about transparent dummy nodes, but don’t know ho to create them.

You may already have gotten past this point, but for other readers of this topic I’ll mention that the Processor sample application demonstrates one way to let users drop a node onto a link in order to split that link into two separate links, with two separate “remote connector” nodes. The purpose of that example code is to permit breaking a long link into two short parts with a common label identifying them – particularly when the link would cross page boundaries. But it sounds like your situation is different, since you want both links to connect to the same new node.

Making any GoObject (including anything inheriting from GoNode) not Visible will also make it not be able to be selected by the user, even though the Selectable property is still true. Instead you should change the appearance of the node's child objects. For example, if you are using a GoBasicNode:
GoBasicNode n = new GoBasicNode();
n.Brush = null; // change Shape's appearance
n.Pen = null;
n.Port.Style = GoPortStyle.None; // change Port's appearance
n.Location = new PointF(100, 100);
doc.Add(n);
You'll be able to select this node, and you'll be able to drag it around or draw new links to or from it, but it will be odd because you won't see it, although when it is selected you will see its selection handle.
Of course you can change the sizes of the Shape and Port as needed, as well as maybe setting its GoPort.IsValidFrom and IsValidTo properties, or its GoObject.Movable, Copyable, or Deletable properties. That will depend on what you want users to be able to do in your application.

I’ve tried something like given code, but in this case I’ve got a link with a break. Now I made a successor class from GoBasicNode & overriden it’s Paint() method to get unbroken link. May be there is a more simple way to do it…

Well, I don’t know what you want, but I would guess that if you make the port really small, and have the links go to the port instead of to the shape, that would do what you want.

n.Port.Size = new SizeF(0, 0);
n.Port.PortObject = null;
I'm curious: Why do you want this functionality? What is the user scenario?

The fact is that I need this port. To make something like this:

OK, that’s fine.

For your information, two alternative implementation strategies:
1. the LinkLabels of the Processor sample
2. the BarNode/BarPort and network nodes in Demo1: http://www.nwoods.com/forum/forum_posts.asp?TID=849

Thank you for response