Relinking how does it work

I have set the relinkable of the link to true, all i want is to link point a to point b and I have been given someone elses sourcecode to work with
I have set
this.ReplaceMouseTool(typeof(GoToolRelinking), new ReLinking(this));
in my goview, and created the following class, anything in this class is not being called, where should i look and what should i set as it doesn’t let me drag from one port to another
public class RelinkingTool : GoToolRelinking {
public RelinkingTool(GoView v) : base(v) {}
public override IGoPort PickNearestPort(PointF dc) {
IGoPort iport = base.PickNearestPort(dc);
if (this.EndPort != null && this.EndPort.GoObject is GoPort) {
if (iport != null) {
myLastNearestPort = (GoPort)this.EndPort.GoObject;
myLastNearestPort.Style = GoPortStyle.Rectangle;
myLastNearestPort.Pen = LinkingNewTool.HighlightPen;
myLastNearestPort.Brush = LinkingNewTool.HighlightBrush;
} else if (myLastNearestPort != null) {
myLastNearestPort.Style = GoPortStyle.None;
myLastNearestPort = null;
return iport;
public override void Stop() {
if (myLastNearestPort != null) {
myLastNearestPort.Style = GoPortStyle.None;
myLastNearestPort = null;
private GoPort myLastNearestPort = null;

Well, GoView/GoToolRelinking/GoLink all support user-relinking by default. So the first thing to try is to leave the standard GoToolRelinking tool in place in your view, and see if that lets users reconnect links.
The only thing that your RelinkingTool is doing is highlighting the prospective port that the link is tentatively connected to, by changing the GoPort.Style, .Pen, and .Brush.
You seem to have a subclass of GoView. You might want to check that GoView.AllowLink is true, so that GoView.CanLinkObjects() will be true.
Hmmm, I suppose you should check that when a link is selected it gets selection handles whose HandleID is GoLink.RelinkableFromHandle or GoLink.RelinkableToHandle. It normally displays as a diamond-shaped resize handle, with a “Hand” cursor. But maybe GoObject.AddSelectionHandles has been overridden.

thanks it was canlinkobjects
that they override with something