in the Demo Sample you use the following:
PortMovingTool is derived from GoTool, so it doesn’t have any of the grid-snapping logic that GoDraggingTool has. You’d have to add logic to the DoMouseMove to honor snap points.
which would be something like this in your PortMovingTool override for DoMouseMove:
PointF oldspot = myPort.Location;
PointF newspot = new PointF(oldspot.X + myOffset.Width, oldspot.Y + myOffset.Height);
myPort.Location = this.View.SnapPoint(newspot, myPort);
work 100%, I just used Port.Center. Thanks