首页 > 代码库 > .net中TreeView使用方法小结(1)

.net中TreeView使用方法小结(1)

在新项目的开发中,TreeView的作用很重要,这两天好好的学习了一下treeview的使用方法。

这篇文章主要关注TreeView带有CheckBox的情况。

 

在TreeView中点击CheckBox触发的函数如下:

 

        private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)        {        }
<style></style>
 

在这个事件中选中,或者取消的那一个节点为:

TreeNode node = e.Node;
<style></style>

使用TreeView控件要经常使用到递归算法。下面举两个例子:

窗体如下:

image

  • 选中父节点,则子节点也全部选中
        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);                }            }        }
<style></style><style></style>
  • 取消选中子节点,则父节点也取消选中
       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);            }        }

未完待续
<style></style>