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

如何在TreeView中把设置了Checked标志的所有TreeNode都拿出来,尽量不去遍历整棵树

楼主heroxn2002(老兵)2003-12-01 10:58:51 在 .NET技术 / C# 提问

如何在TreeView中把设置了Checked标志的所有TreeNode都拿出来,我不想去遍历整棵树去查找,谢谢! 问题点数:50、回复次数:7Top

1 楼soulroom(易水之风)回复于 2003-12-01 11:03:06 得分 0

好像不行Top

2 楼brightheroes(在地狱中仰望天堂)回复于 2003-12-01 11:16:28 得分 15

声明一个ArrayList  
  给你的树添加一个AfterSelect事件  
  判断节点是否选中  
  如果选中,放进ArrayList中  
  如果撤销选中,从ArrayList中remove掉  
   
  Top

3 楼brightheroes(在地狱中仰望天堂)回复于 2003-12-01 11:22:15 得分 0

不好意思  
  是AfterSelect事件  
   
  private   void   treeView1_AfterCheck(object   sender,   System.Windows.Forms.TreeViewEventArgs   e)  
  {  
  if(e.Node.Checked)  
  {  
  if(!arrayList.Contains(e.Node))  
  {  
  arrayList.Add(e.Node);  
  }  
  }  
  else  
  {  
  if(arrayList.Contains(e.Node))  
  {  
  arrayList.Remove(e.Node);  
  }  
  }  
  }Top

4 楼imroc(呆鸟)回复于 2003-12-01 11:23:29 得分 20

不遍历好像不行,我是这样做的  
  ///   <value>选中的接点</value>  
  private     ArrayList   _checkedlist   =   new   ArrayList();  
  public   ArrayList   CheckedList  
  {      
  get  
  {      
  _checkedlist.Clear();  
  GetCheckedNode(this.Nodes);  
  return   _checkedlist;  
  }  
  }  
   
  ///<summary>获得选中的节点</summary>  
  ///   <param   name="tnc">起始节点.</param>  
  ///   <returns>.</returns>  
  private   void   GetCheckedNode(TreeNodeCollection   tnc)  
  {  
  foreach(TreeNode   tmpNd   in   tnc   )  
  {  
  if   (   tmpNd.CheckBox   &&   tmpNd.Checked)  
  {  
  _checkedlist   .Add(tmpNd);  
  }    
   
  if(tmpNd.Nodes.Count!=0)  
  {  
  GetCheckedNode(tmpNd.Nodes);  
  }  
  }  
   
  }Top

5 楼imroc(呆鸟)回复于 2003-12-01 11:24:56 得分 0

我指的是web方式下Top

6 楼jhonsn(晓晨)回复于 2003-12-01 11:41:12 得分 15

如果树深度不深,节点也不是很多,我觉得还是遍历一下  
  比较方便,另外当check父节点的时候把它下面的所有子节点都check,  
  去掉时要做反过程,向列表中加东西还是要遍历一下子树,去掉父点时也要  
  遍历子树,不过使用arraylist的方法在树节点很多时可以提高速度,也是不错的  
  方法  
  Top

7 楼heroxn2002(老兵)回复于 2003-12-01 11:44:31 得分 0

谢谢各位了!:)Top

相关问题

  • treeview遍历问题
  • 如何遍历treeview?
  • 对TreeView的遍历
  • 求treeview的遍历代码。
  • 如何遍历TreeView中本层节点?
  • 求treeview的树遍历函数.
  • 有关treeview控件的遍历问题
  • 遍历treeview,如何得到ID?
  • 急!!!客户端treeview的遍历???
  • 请问怎样用javascript遍历TreeView

关键词

  • 节点
  • check
  • 遍历
  • checkedlist
  • tmpnd
  • getcheckednode
  • arraylist
  • 选中
  • treenode
  • treeview

得分解答快速导航

  • 帖主:heroxn2002
  • brightheroes
  • imroc
  • jhonsn

相关链接

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

广告也精彩

反馈

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