我在WinForm中使用TreeView控件。
我试着使用下面的代码,但是得到了"NullReferenceException“。我遵循提供的语法,即tree.Nodes[key].Nodes.Add(key,text)
我不知道代码有什么问题。
请看一下我使用的代码-
tvTree.Nodes.Add("Subjects", "Subjects");
tvTree.Nodes["Subjects"].Nodes.Add("Physics", "Physics");
tvTree.Nodes["Physics"].Nodes.Add("PhysicsP1", "Paper1");
tvTree.Nodes["Physics"].Nodes.Add("PhysicsP2", "Paper2");
tvTree.Nodes["Physics"].Nodes.Add("PhysicsP3", "Paper3");感谢您与我们分享您的时间。
发布于 2012-07-05 04:58:13
此外,您还可以使用以下命令来实现此目的
tvTree.Nodes.Add("Subjects", "Subjects");
tvTree.Nodes["Subjects"].Nodes.Add("Physics", "Physics");
var phyNode = tvTree.Nodes.Find("Physics", true).First();
phyNode.Nodes.Add("PhysicsP1", "Paper1");
phyNode.Nodes.Add("PhysicsP2", "Paper2");
phyNode.Nodes.Add("PhysicsP3", "Paper3");发布于 2012-07-05 04:54:11
您的问题是“物理”节点不是tvTree的直接子节点,而是"Subjects“节点的子节点。让这件事变得更容易的是,TreeNodeCollection.Add会返回一个您以后可以引用的TreeNode。
var subjects = tvTree.Nodes.Add("Subjects", "Subjects");
var physics = subjects.Nodes.Add("Physics", "Physics");
physics.Nodes.Add("PhysicsP1", "Paper1");
physics.Nodes.Add("PhysicsP2", "Paper2");
physics.Nodes.Add("PhysicsP3", "Paper3");如果只有名称,则可以使用Find
var parentName = "from wherever";
var parentNodes = tvTree.Nodes.Find(parentName, true);
/* handle multiple results */
/* add children */发布于 2015-05-14 21:44:02
你可以使用这个
tvTree.Nodes["Subjects"].Nodes["Physics"].Add("PhysicsP1", "Paper1");https://stackoverflow.com/questions/11335273
复制相似问题