无法在gViewer上绘制指定坐标的节点。
尝试使用此问题中的代码更改MSAGL中的节点位置,但它不起作用。
Form form = new ();
GViewer viewer = new ();
Graph graph = new ("graph");
graph.AddNode("test");
Microsoft.Msagl.Core.Geometry.Point position = new(100, 100);
graph.FindGeometryNode("test").Center = position;//exception in this line
viewer.NeedToCalculateLayout = false;
viewer.Graph = graph;
form.SuspendLayout();
viewer.Dock = System.Windows.Forms.DockStyle.Fill;
form.Controls.Add(viewer);
form.ShowDialog();
它抛出 NullReferenceException。
留言:
"Object reference not set to an instance of an object."
堆栈:
MsaglTestApplication.dll!MsaglTestApplication.Program.Main() 第 23 行 C#
graph.AddNode("test")
返回添加的节点,可以直接使用,不用事后用FindGeometryNode
查找。
var node = graph.AddNode("test");
node.Center = new(100, 100);
(免责声明:我从未使用过 is 库。因此,我的代码未经测试。)