【发布时间】:2014-12-25 08:13:59
【问题描述】:
这是我尝试过的:
List<string> filestodownload = new List<string>(treeViewMS1.SelectedNodes);
这不起作用。 treeViewMS1 就像一个常规的 treeView 控件,但具有多节点选择选项。 问题是如何遍历选定节点并将每个节点的文本属性添加到列表中?
【问题讨论】:
这是我尝试过的:
List<string> filestodownload = new List<string>(treeViewMS1.SelectedNodes);
这不起作用。 treeViewMS1 就像一个常规的 treeView 控件,但具有多节点选择选项。 问题是如何遍历选定节点并将每个节点的文本属性添加到列表中?
【问题讨论】:
如果要深入搜索已检查的节点,请添加递归方法。
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);
【讨论】:
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);
}
}
}
【讨论】: