我在创建TreeNode和子组合时遇到问题。
这是树:
当父母被检查时,我希望有
的组合 "formularzA3 076"
and
"formularzA3 041"
我可以检查父母是否被选中:
TreeNodeCollection nodes = tree.Nodes;
foreach (TreeNode n in nodes)
{
if (n.Checked)
{
MessageBox.Show(n.ToString());
}
}
但这是父母的回报。 如何检查孩子是否也被检查了?
答案 0 :(得分:0)
您可以通过TreeNode
媒体资源( TreeNode.ChildNodes
)访问TreeNodeCollection
个孩子。
TreeNodeCollection nodes = tree.Nodes;
foreach (TreeNode n in nodes)
{
if (n.Checked)
{
MessageBox.Show(n.ToString());
}
foreach (TreeNode childNode in n.ChildNodes)
{
/* do something */
}
}
编辑:为什么不直接从整个集合中获取所有已检查的节点,如此答案中所示?:Get list of all checked nodes and its subnodes in treeview
还有一篇方便的MSDN文章,介绍如何遍历TreeNodeCollection
中的所有节点:https://msdn.microsoft.com/en-us/library/wwc698z7(v=vs.110).aspx