这是我试过的:
List<string> filestodownload = new List<string>(treeViewMS1.SelectedNodes);
这不起作用。 treeViewMS1就像一个常规的treeView控件,但具有多节点选择选项。 问题是我如何循环选定的节点并将每个节点的text属性添加到List?
答案 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);