If you are creating links programmatically, you would be constructing the links and initializing them the way you want.
So I assume you are asking about how to customize the links that are drawn by the user. Just define a GoView.LinkCreated event handler. To implement your example:
[code] private void goView1_LinkCreated(object sender, Northwoods.Go.GoSelectionEventArgs e) {
GoLink link = e.GoObject as GoLink;
if (link != null) {
GraphNode from = link.FromNode as GraphNode;
GraphNode to = link.ToNode as GraphNode;
if (from != null && to != null) {
if (from.Image.Name == "sun.ico" && to.Image.Name == "cloud.ico") {
link.Pen = Pens.Red;
} else if (from.Image.Name == "rocket.ico" && to.Image.Name == "sun.ico") {
link.ToArrow = true;
link.Pen = Pens.Blue;
}
}
}
}[/code]
Of course in your application you will have a different way to recognize the type of node. In ProtoApp, the only way to tell if it's a "Sun" node is by looking at what image it is showing. The label is editable by the user, so its text would not be reliable.