如何在给定的坐标上绘制节点

问题描述 投票:0回答:1

无法在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#

c# winforms graph-theory msagl
1个回答
0
投票

graph.AddNode("test")
返回添加的节点,可以直接使用,不用事后用
FindGeometryNode
查找。

var node = graph.AddNode("test");
node.Center = new(100, 100);

(免责声明:我从未使用过 is 库。因此,我的代码未经测试。)

© www.soinside.com 2019 - 2024. All rights reserved.