zoukankan      html  css  js  c++  java
  • TreeView的checked事件

        /// <summary>
            /// TreeView checked事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void tvMenu_AfterCheck(object sender, TreeViewEventArgs e)
            {
                CheckAll(e.Node);
            }

            /// <summary>
            /// 全部节点check处理
            /// </summary>
            /// <param name="eTreeNode"></param>
            private void CheckAll(TreeNode eTreeNode)
            {
                tvMenu.AfterCheck -=new TreeViewEventHandler(tvMenu_AfterCheck);
                if (eTreeNode.Parent != null)
                {
                    CheckParent(eTreeNode);
                }
                if (eTreeNode.Nodes.Count > 0)
                {
                    foreach (TreeNode mTN in eTreeNode.Nodes)
                    {
                        mTN.Checked = eTreeNode.Checked;
                       
                        foreach (TreeNode mTNSub in mTN.Nodes)
                        {
                            mTNSub.Checked = mTN.Checked;
                            CheckSub(mTNSub);
                        }
                    }
                }
               
                tvMenu.AfterCheck += new TreeViewEventHandler(tvMenu_AfterCheck);
            }
            /// <summary>
            /// 父节点处理
            /// </summary>
            /// <param name="eTreeNode"></param>
            private void CheckParent(TreeNode eTreeNode)
            {
                if (eTreeNode.Parent == null)
                {
                    return;
                }
               
                eTreeNode.Parent.Checked = eTreeNode.Checked;
               
                foreach (TreeNode mTN in eTreeNode.Parent.Nodes)
                {
                    eTreeNode.Parent.Checked = (eTreeNode.Parent.Checked || mTN.Checked);
                    if (mTN.Parent != null)
                    {
                        CheckParent(mTN.Parent);
                    }
                }
            }
            /// <summary>
            /// 子节点处理
            /// </summary>
            /// <param name="eTreeNode"></param>
            private void CheckSub(TreeNode eTreeNode)
            {
                foreach (TreeNode mTN in eTreeNode.Nodes)
                {
                    mTN.Checked = eTreeNode.Checked;
                    CheckSub(mTN);
                }
            }

  • 相关阅读:
    暑假假期周进度报告(第七周)
    暑假假期周进度报告(第五周)
    暑假假期周进度报告(第二周)
    接口 interface 实现接口implements 抽象类 abstract 继承extends
    标准JavaBean
    IO FileInputStream 输入字节流类(读文件) FileOutputStream 输出字节流(写文件) 复制文件
    如何获取任意范围内的一个随机数?
    hadoop 简介
    创建Student数组和Student对象,键盘录入
    云计算01
  • 原文地址:https://www.cnblogs.com/skyblue/p/955132.html
Copyright © 2011-2022 走看看