TreeView控件的遍历

 

 

刚看到有个同学在询问,关于TreeView遍历的问题,并结贴了,但没有什么具体的程序,

所以这里我写下我的实现方法,希望可以帮下新手。

要求是,开启窗口时,默认要打开第三级节点。

 

下边是我实现的方法:


窗口中拖入一个TreeView控件,自己加入多个节点,包含子节点的,多少级/多少个随意


 

 代码: 这段代码实现了在找开窗口时,默认打开的2级子节点。这里把根节点当作0级

private void Form1_Load(object sender, EventArgs e)
        {
            process(this.treeView1);
        }
        private void process(TreeView tv)//这里用于遍历所有的根节点
        {
            foreach (TreeNode item in tv.Nodes)
            {
                processNode(item,0);
            }
        }
        private void processNode(TreeNode tn,int i)//这里会遍历所有的子节点
        {
            i++;
            if (i == 2)//这里是关键,第一次进入时,tn为一级子节点i 为1,当第二次进入时,tn为二级子节点i 为2。
            {
                this.treeView1.SelectedNode = tn;//设置当前焦点
                tn.Expand();//展开当前节点的子节点
            }
            else
            {
                foreach (TreeNode item in tn.Nodes)
                {
                    processNode(item, i);
                }
            }
        }


 

希望大家勇跃拍砖。有好的想法请发言,共同学习,谢谢支持!
posted @ 2008-08-27 17:01  程序员老李  阅读(1520)  评论(0编辑  收藏  举报