CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

各位大哥大姐,treeview中复选框问题,跪求解决方法~~~~~~~~~

楼主greatxiaoniu()2006-10-04 16:12:03 在 .NET技术 / C# 提问

//在所有子结点.checked=true状态下,若令一子结点.checked=false,则父结点checkbox=false.(初始状态父结点和子结点checked全为true)  
  private   void   treeView1_AfterCheck(object   sender,   TreeViewEventArgs   e)  
                  {                          
                            if   (treeView1.SelectedNode.Checked==false)  
                              {  
                                  bool   flag   =   false;  
                                  //检测不是全选状态  
                                  foreach   (TreeNode   node   in   this.treeView1.SelectedNode.Parent.Nodes)  
                                  {  
                                          if   (node.Checked   ==   false)  
                                          {  
                                                  flag   =   true;  
                                          }  
                                  }  
   
                                  if   (flag   ==   true)  
                                  {  
                                          treeView1.SelectedNode.Parent.BackColor   =   System.Drawing.Color.Gray;  
                                          //treeView1.SelectedNode.Parent.Checked=   false;//此句在调试时报错:                                                                                           //确保不会出现无限循环或者无限递归  
                                  }  
                    }  
        } 问题点数:100、回复次数:2Top

1 楼jimh(Jimmy)回复于 2006-10-04 17:31:16 得分 50

foreach   (TreeNode   node   in   this.treeView1.SelectedNode.Parent.Nodes)   //这里的问题  
  改为取当前节点:foreach   (TreeNode   node   in   e.Note.Parent.Nodes)  
  因为下面代码执行后又会引发AfterCheck事件,  
  treeView1.SelectedNode.Parent.Checked=   false;  
  如果使用SelectedNode这样就会死循环了,用e.Note就正好Top

2 楼DB_Jackaroo()回复于 2006-10-04 17:51:47 得分 50

楼上的说的对。  
  我做过,不过只能在false下可以。  
  尝试了几次true的情况,都是死循环。  
  大家讨论一下有什么解决方法Top

相关问题

关键词

得分解答快速导航

  • 帖主:greatxiaoniu
  • jimh
  • DB_Jackaroo

相关链接

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

广告也精彩

反馈

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