皮皮网
皮皮网

【源码挣钱的】【麻将服务器源码】【百宝箱 源码】access树控件源码_access 树控件

来源:校友系统源码 发表时间:2024-12-28 20:50:19

1.如何在窗体初始化的树控s树时候就展开所有TreeView控件的所有节点

access树控件源码_access 树控件

如何在窗体初始化的时候就展开所有TreeView控件的所有节点

       利用递归关键的是找出要删除节点的父节点(假如是C),找到父节点C之后继续利用递归找出C的控件父节点B,找到父节点B之后继续找出B的树控s树源码挣钱的父节点A.... .... 还需要加一个判断,判断一下 父节点.Parent.Parent 看部分代码:

       string parentName="";

       private void 删除选中节点ToolStripMenuItem_Click(object sender,控件 EventArgs e)

       {

        try

        {

        TreeNode node = treeView1.SelectedNode.Parent;

        if (ChuLi.deleteNode(NodeId))//这个是我自己定义的方法,大家可以忽略

        {

        if (node != null)//如果是树控s树麻将服务器源码子节点不是根节点,那么就展开

        {

        parentName = node.Text;

        //展开的控件百宝箱 源码应该是父节点

        ExpandNodes(treeView1.Nodes);//调用-----------------------------------------

        }

        }

        else

        {

        MessageBox.Show("删除失败!");

        }

        }

        catch (Exception ex)

        {

        MessageBox.Show(ex.Message);

        }

       }

       //遍历所有节点,树控s树找出指定节点

       private void ExpandNodes(TreeNodeCollection tnodes)

       {

        foreach (TreeNode node in tnodes)

        {

        if (node.Text == parentname)//比较判断,控件所以需要知道所选节点的树控s树父节点名字:node.Parent.Text

        {

        ExpandParentNodes(node.Parent.Nodes);//调用下一个递归方法

        }

        ExpandNodes(node.Nodes);

        }

       }

       //关键点所在

       private void ExpandParentNodes(TreeNodeCollection tnodes)

       {

        TreeNode parentNode;

        foreach (TreeNode node in tnodes)

        {

        parentNode = node;

        if (parentNode.Parent != null)

        {

        parentNode.Parent.Expand();

        if (parentNode.Parent.Parent != null)//判断父节点的父节点是否为空,如果已经达到根节点就是控件null

        {

        ExpandParentNodes(parentNode.Parent.Parent.Nodes);

        }

        else

        break;//已经达到根节点,退出

树控s树

        }

树控s树

        }

树控s树

       }

树控s树

相关栏目:时尚