|
|
1
6
这将在枚举节点之后删除它们,并且可以递归地用于n层节点。
|
|
|
2
7
尝试向后遍历节点。这样索引就不会超过节点大小: for( int ndx = nodes.Count; ndx > 0; ndx--)
{
TreeNode node = nodes[ndx-1];
if (node.Checked)
{
nodes.Remove(node);
}
// Recurse through the child nodes...
}
|
|
3
3
如果您想有效地执行此操作,则需要在检查节点时跟踪它们。将选中的树节点存储在列表中(取消选中时将其删除)。 如果您有一个唯一的键和许多节点来跟踪,那么也可以考虑使用字典。但如果你只处理10-50的问题,可能不会有很大的不同。 然后,您不需要遍历整个树,而只需遍历(较小的)节点列表。 |
|
|
4
1
在迭代的同时,您可以构建一个未选中项的新列表,然后将TreeView重新绑定到该新列表(放弃旧列表)。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |