在新项目的开发中,TreeView的作用很重要,这两天好好的学习了一下treeview的使用方法。
这篇文章主要关注TreeView带有CheckBox的情况。
在TreeView中点击CheckBox触发的函数如下:
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { }
在这个事件中选中,或者取消的那一个节点为:
TreeNode node = e.Node;
使用TreeView控件要经常使用到递归算法。下面举两个例子:
窗体如下:
- 选中父节点,则子节点也全部选中
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { TreeNode node = e.Node; if (node.Checked) { SetChildNodesState(e.Node); } } private void SetChildNodesState(TreeNode ParentNode) { if (ParentNode.Nodes != null) { foreach (TreeNode node in ParentNode.Nodes) { node.Checked = true; SetChildNodesState(node); } } }
- 取消选中子节点,则父节点也取消选中
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { TreeNode node = e.Node; if (node.Checked == false) { SetParentNodeState(e.Node); } } private void SetParentNodeState(TreeNode ChildNode) { if (ChildNode.Parent != null) { ChildNode.Parent.Checked = false; SetParentNodeState(ChildNode.Parent); } } 未完待续
.net中TreeView使用方法小结(1),布布扣,bubuko.com
时间: 2024-10-12 16:48:35