private void PrintRecursive(TreeNode treeNode)
{
foreach (TreeNode tn in treeNode.Nodes)
{
PrintRecursive(tn);
}
}
我收到错误:Foreach无法在方法组上运行。你打算调用'方法组'吗?Foreach无法在方法组上运行
private void PrintRecursive(TreeNode treeNode)
{
foreach (TreeNode tn in treeNode.Nodes)
{
PrintRecursive(tn);
}
}
我收到错误:Foreach无法在方法组上运行。你打算调用'方法组'吗?Foreach无法在方法组上运行
假设你正在使用的包装TreeView控件,应该不会是ChildNodes
:
foreach (TreeNode node in treeNode.ChildNodes) ...
TreeView.Nodes给出表示TreeView控件的根节点树节点对象的集合。
要访问根节点的子节点,请使用节点的ChildNodes属性。
例如使用循环
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);
}
}
它不起作用。 –
@ user966638你会得到错误吗? – Damith
这里的问题是,Nodes
是一种方法,但你财产使用:) 所以这行代码
foreach (TreeNode tn in treeNode.Nodes)
应be
foreach (TreeNode tn in treeNode.Nodes())
伙计,U摇滚... –
似乎'节点'是一种方法。它是如何声明的?如果它是一种方法,则应该调用'foreach(treeNode.Nodes()中的TreeNode tn)'。 – Andrei
@RedFilter TreeNode类来自元数据。它来自.Net,它不是我的。 –
您能为您的TreeNode提供完整的类型名称吗?看起来你引用了错误的类型,就像WinForms一样。 –