• TreeView checkbox


    C# TreeView checkbox 联动打勾
    
      #region 将树的checkbox选中
            private void setNodeTrue(Node selNode) { 
                Node node = selNode.Parent;
                if (node != null) {
                    node.CheckState =  CheckState.Checked;
                    setNodeTrue(node);
                }
            }
            #endregion
            #region 将树的checkbox选中
            private void setNodeStateTrue(Node selNode)
            {
                if (selNode.CheckBoxVisible)
                {
                    selNode.CheckState =  CheckState.Checked;
                    foreach (Node node in selNode.Nodes)
                    {
                        setNodeStateTrue(node);                }
                }
            }
            #endregion        #region 将树的checkbox取消选中
            private void setNodeStateFalse(Node selNode)
            {
                if (selNode.CheckBoxVisible) {
                    selNode.CheckState =  CheckState.Unchecked;
                    foreach (Node node in selNode.Nodes)
                    {
                        setNodeStateFalse(node);                }
                }
            }
            #endregion        #region 将树的checkbox取消选中
            private void setNodeFalse(Node selNode)
            {
                Node nextNode = selNode.NextNode;
                Node previousNode = selNode.PrevNode;
                Node praNode = selNode.Parent;
                if (praNode != null) {
                    while (nextNode != null)
                    {
                        if (nextNode.Checked)
                        {
                            return;
                        }
                        nextNode = nextNode.NextNode;
                    }
                    while (previousNode != null)
                    {
                        if (previousNode.Checked)
                        {
                            return;
                        }
                        previousNode = previousNode.PrevNode;
                    }
                    praNode.CheckState =  CheckState.Unchecked;
                    setNodeFalse(praNode);
                }
            }
            #endregion  #region 单击树的checkbox事件
            private void tvDevice_AfterCheck(object sender, AdvTreeCellEventArgs e)
            {
                Node node = tvDevice.SelectedNode;  
                if (node.Checked)
                {                setNodeTrue(node);
                    setNodeStateTrue(node);
                }
                else {
                    setNodeStateFalse(node);
                    setNodeFalse(node);
                }
            }
            #endregion 

    原文来自 http://hi.baidu.com/jm_li_cn/item/ce4cec163f02932bd0d66dbb
  • 相关阅读:
    git
    build and set proxy in Ubuntu
    export a java project to runable jar
    Remove openjdk in Ubuntu/Configure jdk and running adb in 64-bit Ubuntu
    When you install printer in Ubuntu, just need a ppd file.
    Ubuntu user switch
    Enable SSHD on Ubuntu
    web测试实践——day01
    白盒测试实践-day04
    白盒测试实践-day03
  • 原文地址:https://www.cnblogs.com/naliang/p/TreeView.html
Copyright © 2020-2023  润新知