Fuz*_*ans 3 c# treeview loops nodes winforms
我有一个带有TreeView列表的程序,该列表包含Nodes和带子节点。这些都具有复选框属性启用。我需要知道如何检查已检查的节点/节点子级。到目前为止,我已经能够成功测试父节点,但是没有子节点使用:
//this will turn black any node that is checked, doesn't affect the children though
TreeNodeCollection nodes = this.treeView1.Nodes;
foreach (TreeNode n in nodes)
{
if (n.Checked)
{
n.BackColor = Color.Black;
}
}
Run Code Online (Sandbox Code Playgroud)
我如何获得它来检查父节点以及子节点?我已经搜索过,但没有发现任何可以解决的问题。
您可以定义一个将标记所有选定项的递归函数:
private static void MarkSelectedNodes(TreeNodeCollection nodes)
{
foreach (TreeNode n in nodes)
{
if (n.Checked)
n.BackColor = Color.Black;
MarkSelectedNodes(n.Nodes);
}
}
Run Code Online (Sandbox Code Playgroud)
并这样称呼它:
MarkSelectedNodes(treeView1.Nodes);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4290 次 |
| 最近记录: |