C#,TreeView,向节点添加节点但count = 0

时间:2017-03-31 10:28:25

标签: c# visual-studio-2008 treeview nodes

我有这个特殊的问题,我在树视图中向节点添加节点。 这是关于从我的HD制作类似浏览器的目录树,而不是一次加载所有目录,我只做一个'级别'。单击以展开时,将加载该特定文件夹的下一个“级别”。

        DirectoryInfo di = new DirectoryInfo(par_path);
        foreach (DirectoryInfo d in di.GetDirectories())
        {
            tn_work = new TreeNode();
            tn_work.Text = d.Name;
            tn_work.ImageIndex = 0;
            tn_work.SelectedImageIndex = 0;
            par_treenode.Nodes.Add(tn_work);
            if (par_treenode.Text == "Visual Studio")
                in_test = par_treenode.Nodes.Count;
         }

我在为这个路径制作树时为每个“步骤”调用它:“G:\ Visual Studio \ Projects \ Project1 \ Work”。 意思是,首先我调用“G:\ Visual Studio”,此过程将加载“Visual Studio”文件夹中的所有文件夹。然后我调用“G:\ Visual Studio \ Projects \”并加载'Projects'文件夹中的所有文件夹等。

'par_treenode'是treenode,随着我沿着路径向前扩展。节点应如下所示:

C:
- 视觉工作室
----项目
------ PROJECT1
--------工作

然而,它没有! “Visual Studio”文件夹添加正常,但它下面没有节点。

问题是,如果我停止在'if(par_treenode.Text ==“Visual Studio”) - 句子上调试这个程序,那么节点'Visual Studio'清楚地表明它下面有14个节点。该程序可行:展开整个路径。 但是,如果我在不停止的情况下运行它,它就没有了。我添加的测试字段('in_test = par_treenode.Nodes.Count;')确认为零。

由于在调试模式下停止程序使其工作,很明显事情进展得太快。在我要求计数之前,它已经以某种方式完成了节点的制作。

我尝试了一个等待程序,我尝试过treeview1.EndUpdate(),treeview1.Refresh();什么都没有。

我该怎么办?

0 个答案:

没有答案