我正在尝试使用键创建TreeNode
,但TreeNode没有构造函数来获取键和文本。我发现只有以下解决方案:
TreeNode tn = new TreeNode("text node");
tn.Name = "keyNode";
treeView.Nodes.Add("keyNode", "text node");
但是这些方法并不适合我,因为我尝试使用Linq查询向TreeNodes
添加新的treeView
。
以下是我想要理想的事情:
treeView.Nodes.AddRange(
myListOfObject.Select(x => new TreeNode(x.somePropertyForKey,
x.somePropertyForText)).
ToArray<TreeNodes>());
我是否坚持使用foreach
循环来创建TreeNodes
,或者您是否看到了一种方法来执行此操作 - ish ?
答案 0 :(得分:9)
这就是
的新初始化语法TreeNode tn = new TreeNode("text node") {Name = "keynode"} ;
答案 1 :(得分:1)
treeView.Nodes.AddRange(myListOfObject.Select(new TreeNode
{
Name = "keyNode",
TreeNode = new TreeNode[]{new TreeNode{Name="text node"}}}
});
应该是这样的。 (请检查大括号和语法)
您可能希望使用此构造函数TreeNode(String, TreeNode[])
顺便说一句,如果这不起作用并且您没有访问数据库,则可以执行以下操作:
treeView.Nodes.AddRange(myListOfObject.Select(new TreeNode
(
"keyNode",
new TreeNode[]{new TreeNode{Name="text node"}}}
);