如题。请大侠们指导指导。

解决方案 »

  1.   


            private void tree_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
            {
                if (e.Node.Checked)
                {
                    foreach (TreeNode tn in e.Node.Nodes)
                    {
                        tn.Checked = true;
                    }            }
                else
                {
                    foreach (TreeNode tn in e.Node.Nodes)
                    {
                        tn.Checked = false;
                    }
                }
            }
      

  2.   

    private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
            {
                if (e.Action == TreeViewAction.Unknown)
                    return;            if (e.Node.Checked)
                    CheckAllNodes(e.Node.Nodes);        }        private void CheckAllNodes(TreeNodeCollection nodes)
            {
                foreach (TreeNode n in nodes)
                {
                    n.Checked = true;
                    if (n.Nodes.Count > 0)
                        CheckAllNodes(n.Nodes);
                }
            }
      

  3.   

     private void treeView1_AfterCheck_1(object sender, TreeViewEventArgs e)
            {
                  for (int i = 0; i < e.Node.Nodes.Count; i++)
                    e.Node.Nodes[i] = e.Node.Checked;                     
            }
      

  4.   

       #region "树的选中状态"
            private void EnableCheck(bool bol)
            {
                foreach (TreeNode td in tree_GongNeng.Nodes)
                {
                    td.Checked = bol;
                    CheckAllChildNodes(td, td.Checked);
                }
            }
            #endregion        #region  选中子节点
            public void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked)
            {
                foreach (TreeNode node in treeNode.Nodes)
                {
                    node.Checked = nodeChecked;
                    if (node.Nodes.Count > 0)
                    {
                        this.CheckAllChildNodes(node, nodeChecked);
                    }
                }
            }
            #endregion
        private void tree_GongNeng_AfterCheck(object sender, TreeViewEventArgs e)
            {
               if (e.Node.Nodes.Count > 0)
               {
                CheckAllChildNodes(e.Node, e.Node.Checked);
               }
    } private void grv_QuanXianLieBiao_Click(object sender, EventArgs e)
            {
                EnableCheck(false);         
            }