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

在新项目的开发中,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),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。