当前位置:IT168首页 > 技术开发 > 概述
[收藏此页] [打印] [推荐] [评论]

winForm中应用带CheckBox的TreeView

责任编辑:nancy作者:ITPUB论坛   2008-07-08   
文本Tag: 微软 sql

【IT168技术文档】

private void treeView1_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e) { if(e.Action != TreeViewAction.Unknown) { CheckAllChildNodes(e.Node,e.Node.Checked); //选中父节点 bool bol=true; if(e.Node.Parent !=null) { for(int i=0;i<e.Node.Parent.Nodes.Count;i++) { if(!e.Node.Parent.Nodes[i].Checked) bol = false; } e.Node.Parent.Checked = bol; } } } //选中子节点 public void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked) { foreach(TreeNode node in treeNode.Nodes) { node.Checked = nodeChecked; if(node.Nodes.Count > 0) { this.CheckAllChildNodes(node, nodeChecked); } } } --------------------------------------------------------------- 1、如何实现当子节点全部选中/取消,则父节点选中/取消 楼主是想子节点都选中的时候,所有的父节点都选中吗?如果是的话稍微改一下即可 private void treeView1_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e) { if(e.Action != TreeViewAction.Unknown) { CheckAllChildNodes(e.Node,e.Node.Checked); //选中父节点 bool bol=true; if(e.Node.Parent !=null) { for(int i=0;i<e.Node.Parent.Nodes.Count;i++) { if(!e.Node.Parent.Nodes[i].Checked) bol = false; } TreeNode tn=e.Node; while ( tn.Parent != null ) { tn = tn.Parent; tn.Checked = bol; } tn.Checked = bol; } } }
上一页
1
下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
【内容导航】
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://tech.it168.com/d/2008-07-08/200807081336658.shtml
技术开发相关文章  
  • 暂无
友情推介