如何将treeView1 selectednode集合转换为List <string>?</string>

时间:2014-12-25 08:14:00

标签: c# .net winforms treeview

这是我试过的:

List<string> filestodownload = new List<string>(treeViewMS1.SelectedNodes);

这不起作用。 treeViewMS1就像一个常规的treeView控件,但具有多节点选择选项。 问题是我如何循环选定的节点并将每个节点的text属性添加到List?

2 个答案:

答案 0 :(得分:1)

if (treeViewMS1.CheckedNodes.Count > 0)
{
    List<string> _selectednodes = new List<string>();
    foreach (TreeNode node in treeViewMS1.CheckedNodes)
    {
        if(node.Parent != null)
        {
            string checkedValue = node.Text.ToString();
            _selectednodes.Add(checkedValue);
        }
    }

}

答案 1 :(得分:1)

如果要深入搜索已检查的节点,请添加递归方法。

private void GetNodesText(TreeNodeCollection tnc, List<string> selectednodes)
{
    foreach (TreeNode node in tnc)
    {
        if (node.Nodes.Count > 0)
            GetNodesText(node.Nodes, selectednodes);
        if (node.Checked)
            selectednodes.Add(node.Text);
    }
}

然后调用该方法:

var selectednodes = new List<string>();
GetNodesText(treeView1.Nodes, selectednodes);