解决方案1
使用递归方法:
C# code
public static void GetCheckedNode(TreeNodeCollection tnc) { foreach(TreeNode node in tnc) { if(node.Checked) { MessageBox.Show(node.Text); } GetCheckedNode(node.Nodes); } }
解决方案2
C# code
private void button1_Click(object sender, EventArgs e)
{
List<TreeNode> t = getchecknode(this.treeView1.Nodes);
}
private List<TreeNode> getchecknode(TreeNodeCollection nodes)
{
List<TreeNode> getnodes = new List<TreeNode>();
foreach (TreeNode td in nodes)
{
if (td.Checked) getnodes.Add(td);
if(td.Nodes.Count!=0)
{
getnodes.AddRange(getchecknode(td.Nodes));
}
}
return getnodes;
}