【发布时间】:2017-05-31 17:26:06
【问题描述】:
我正在尝试构建一个表示数据库关系的图表,因此我希望每个节点都有一个 标题与表名和 子标题,这将代表不同的键表格和边缘有这样关系的字符串 如:“每个table1可能有很多table2”。
有可能吗?如果可以,怎么做?
谢谢。
【问题讨论】:
标签: c# sql-server winforms msagl
我正在尝试构建一个表示数据库关系的图表,因此我希望每个节点都有一个 标题与表名和 子标题,这将代表不同的键表格和边缘有这样关系的字符串 如:“每个table1可能有很多table2”。
有可能吗?如果可以,怎么做?
谢谢。
【问题讨论】:
标签: c# sql-server winforms msagl
我是这样做的:
Microsoft.Msagl.Drawing.Node visnode = new Microsoft.Msagl.Drawing.Node($"{n.NodeId}: {n.NodeName}") { UserData = n };
visnode.NodeBoundaryDelegate = GetNodeBoundary;
visnode.DrawNodeDelegate = DrawNode;
ICurve GetNodeBoundary(Microsoft.Msagl.Drawing.Node node) {
return CurveFactory.CreateRectangle(500, 50, new Microsoft.Msagl.Core.Geometry.Point(0,0) );
}
private bool DrawNode(Microsoft.Msagl.Drawing.Node node, object graphics)
{
Graphics g = (Graphics)graphics;
Node n = (Node)node.UserData;
// fiddle with g.transform (this took a ton of trial and error, and cribbing from
// the NodesWithImages sample code from MSAGL)
// see also https://stackoverflow.com/q/70855662/2112855
// g.FillRectangle, g.DrawString...
}
【讨论】: