实现treeView遍历其实很简单,只需要实现方法的递归就可以。
public void SetTreeViewList(TreeNode nodes)
{
//有子节点
foreach (TreeNode newNode in nodes.Nodes)
{
if (newNode.Nodes.Count > 0)
{
SetTreeViewList(newNode);
}
}
}
另外显示treeView多选需要使用checkBox.。否则需要重写treeView控件
遍历选择的内容
public void SetTreeViewList(TreeNode nodes)
{
//防止节点没有子节点被忽略
if (nodes.Checked)
{
listBox1.Items.Add(nodes.Name);
}
//有子节点
foreach (TreeNode newNode in nodes.Nodes)
{
if (newNode.Nodes.Count > 0)
{
SetTreeViewList(newNode);
}
//判断孩子节点
else
{
if (newNode.Checked)
{
listBox1.Items.Add(newNode.Name);
}
}
}
{
//防止节点没有子节点被忽略
if (nodes.Checked)
{
listBox1.Items.Add(nodes.Name);
}
//有子节点
foreach (TreeNode newNode in nodes.Nodes)
{
if (newNode.Nodes.Count > 0)
{
SetTreeViewList(newNode);
}
//判断孩子节点
else
{
if (newNode.Checked)
{
listBox1.Items.Add(newNode.Name);
}
}
}
}