2011-04-21 33 views

回答

2
protected string getCheckedNodes(TreeNodeCollection tnc) 
    { 
     StringBuilder sb = new StringBuilder(); 

     foreach (TreeNode tn in tnc) 
     { 
      if (tn.Checked) 
      { 
       string res = tn.FullPath; 
       if (res.Length > 0) 
        sb.AppendLine(res); 
      } 
      string childRes = getCheckedNodes(tn.Nodes); 
      if (childRes.Length > 0) 
       sb.AppendLine(childRes); 
     } 

     return sb.ToString(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show(getCheckedNodes(treeView1.Nodes)); 
    } 

我将它输出通过字符串,但可以很明显的做任何事情,你用它喜欢喜欢它添加到集合等

+0

感谢TBohnen.Your代码工作perfectly.How自动选择或取消所有的子节点,每当它的父节点被选中?我该怎么做? – Saravanan 2011-04-21 06:08:04

+0

酷,很高兴它的工作,请创建一个不同的问题,并发布链接到问题在这里,因为它会混乱这个问题 – 2011-04-21 06:47:30

相关问题