【发布时间】:2015-06-26 17:10:22
【问题描述】:
我有一个TreeView,每个项目都有不同的代码。
用户可以检查 5 个项目并保存它们。然后我有一个treeView的节点代码列表。
我想向用户显示表单加载中的检查项目。
但是我的代码不起作用。
有人可以帮帮我吗?
这是我的代码:
private void chechTreeViewItems(List<int> remID)
{
foreach ( System.Windows.Forms.TreeNode item in this.tvRemark.Nodes)
{
for (int i = 0; i < remID.Count; i++)
{
if (Convert.ToInt16(item.Tag)== remID[i])
{
item.Checked = true;
}
}
}
}
我认为这段代码无法追踪子节点。
【问题讨论】:
-
你是在写WPF还是winform应用?
-
你的节点列表是扁平树还是层次结构?
-
分层,但只有一个父母和大约 20 个孩子
-
如果所有孩子都有相同的父母,那么你所要做的就是在
this.tvRemark.Nodes[0].Nodes上运行你的循环,也许还要检查this.tvRemark.Nodes[0]。 -
那么你不能只用一个for循环访问所有的子节点。你必须递归循环。如果您想了解如何递归循环的示例,请询问我。
标签: c# winforms checkbox treeview