CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

如何遍历treeview

楼主zx197093(流水无香)2003-12-02 12:51:40 在 .NET技术 / C# 提问

我用的是  
  foreach(TreeNode   node   in   treeView1.Nodes)  
  {  
   
  }  
  但只能显示根结点,是不是树必须打开才行?还有没有更好的办法? 问题点数:0、回复次数:9Top

1 楼zx197093(流水无香)回复于 2003-12-02 13:25:55 得分 0

请高手回答Top

2 楼brightheroes(在地狱中仰望天堂)回复于 2003-12-02 13:28:54 得分 0

 
  search(TreeNode   tn)  
  {  
        if(tn.Node.Count   !=   0)  
        {  
                foreach(TreeNode   node   in   treeView1.Nodes)  
                {  
                        search(node);  
                  }          
          }  
       
   
  }  
  Top

3 楼brightheroes(在地狱中仰望天堂)回复于 2003-12-02 13:29:43 得分 0

递归遍历  
   
  调用如下  
   
  foreach(TreeNode   tn   in   this.treeView1)  
  {  
        search(tn);  
  }Top

4 楼TeaBall(茶包)回复于 2003-12-02 13:30:41 得分 0

楼主说错了吧?应该是遍历TreeView里边的TreeNode才对。  
  做法就像brightheroes(闭关)写的那样,用递归就能找出所有节点。Top

5 楼dahuzizyd(你就是我心中的女神)回复于 2003-12-02 13:31:25 得分 0

void   GetAllNodeText(   TreeNodeCollection   tnc   )  
  {  
          foreach   (   TreeNode   node   in   tnc   )  
          {  
                  if   (   node.Nodes.Count   !=   0   )  
                          GetAllNodeText(node.Nodes);  
                  comboBox1.Items.Add(node.Text);  
          }  
  }Top

6 楼hgknight(江雨.net)回复于 2003-12-02 13:47:30 得分 0

http://search.csdn.net/expert/topic/52/5202/2003/3/13/1525202.htmTop

7 楼zhengguoc(爱之海洋)回复于 2003-12-02 13:49:41 得分 0

不是的,树是分层的,你的代码当然只能访问根结点了。  
  应该这样:  
  public   TreeNode   FindNode(TreeNode   tn)  
  {  
        TreeNode   TempTn;  
        if   (   tn.Nodes==null   )  
                return   null;  
        if(tn.text   ==   "kk")  
            return   tn;  
        for   (int   i=0;i<tn.Nodes.Count;i++)  
        {  
              TempTn=FindNode(tn.Nodes[i])  
              if   (TempTn   !=   null)  
  return   TempTn;  
        }  
        return   null;  
  }  
  调用  
  FindNode(treeView1.nodes[0]);  
  功能:   遍历树,查找树结点内容为kk的结点,并返回。Top

8 楼bankliu(水岸)回复于 2003-12-02 14:00:49 得分 0

一个笨法:(但是可以自己控制遍历的层数阿!)  
  foreach(TreeNode   node0   in   treeView1.Nodes)  
  {  
  foreach(TreeNode   node1   in   node0.Nodes)  
  {  
  ....  
  }  
  }  
  Top

相关问题

  • 如何遍历treeview?
  • 如何遍历TreeView中本层节点?
  • 遍历treeview,如何得到ID?
  • 如何遍历treeview的所有节点?
  • treeview遍历问题
  • 对TreeView的遍历
  • 请教:如何遍历treeview的美个接点
  • 如何遍历treeview中的某一节点的子节点
  • 如何遍历Treeview的所有子节点?
  • 如何在treeview上遍历磁盘驱动器??????????????

关键词

  • search
  • 遍历
  • treenode
  • tn
  • treeview
  • nodes
  • foreach

得分解答快速导航

  • 帖主:zx197093

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo