C# Winform treeView节点查找定位问题

2024-12-20 04:35:59
推荐回答(2个)
回答1:

按图标区分即可(ImageIndex属性)。
另一种办法是判断如果没有子节点,就是车子,如果有子节点就是目录(如果存在下面没有车子的目录就会区分错)。
选择使用TreeNode.Selected = true即可。但TreeView的HideSelection要设置为false,否则焦点放在其他在方,就看不到那个选中的节点了。

回答2:

提问者的意图很难理解,没有checkbox,什么才算选中呢?

这段代码用来选中最后的节点
private static void SelectChildNodesChecked(TreeNode node)
{
if (node == null) return;
if (node.Nodes.Count == 0) //叶子的Count就是0
{
node.Checked = true;
}
else
{
foreach (TreeNode childNode in node.Nodes)
{
SelectChildNodesChecked(childNode);
}
}
}

这段代码用来选中文件夹
private static void SelectParentNodesChecked(TreeNode node)
{
if (node == null || node.Nodes.Count == 0) return;

node.Checked = true; //对应于非叶子的节点

foreach (TreeNode childNode in node.Nodes)
{
SelectParentNodesChecked(childNode);
}
}