private void PrintRecursive(TreeNode treeNode)
{
foreach (TreeNode tn in treeNode.Nodes)
{
PrintRecursive(tn);
}
}
我收到错误:Foreach无法对方法组进行操作。您打算调用'方法组'吗?
答案 0 :(得分:12)
这里的问题是Nodes
是一个方法,但你用作属性:)
所以这行代码
foreach (TreeNode tn in treeNode.Nodes)
应该是
foreach (TreeNode tn in treeNode.Nodes())
答案 1 :(得分:6)
假设您正在使用打包的TreeView控件,那么它不应该是ChildNodes
吗?:
foreach (TreeNode node in treeNode.ChildNodes) ...
答案 2 :(得分:1)
TreeView.Nodes给出了一组TreeNode对象,它们代表TreeView控件中的根节点。
要访问根节点的子节点,请使用节点的ChildNodes属性。
e.g。使用for循环
void PrintRecursive(TreeNode node)
{
for(int i=0; i <node.ChildNodes.Count; i++)
{
PrintRecursive(node.ChildNodes[i]);
}
}
或使用foreach
void PrintRecursive(TreeNode node)
{
foreach(TreeNode node in node.ChildNodes)
{
PrintRecursive(node);
}
}