protected void treeView1_BeforeExpand(object sender,System.Windows.Form.TreeViewCancelEventArg e)
{
String fullPath;
if(e.Node.Equals(treeView1.Nodes[0]))
{ fullPath="";}
else fullPath=e.Node.Text+"\\";
TreeNode tempNode =e.Node;
while(tempNode.Parent!=null&&!tempNode.Parent.Equals(treeView1.Node[0]))
{fullPath=tempNode.Parent.Text+"\\"+fullPath;
 tempNode=tempNode.Parent;
}
fullPath=treeView1.Node[0].Text+fullPath;
for(int i=0;i<e.Node.Nodes.Count;i++)
{String[] dirs=null;
try
{dirs=Directory.GetDirectories(fullPath+e.Node.Nodes[i].Text);
}
catch(Exception ex)
{....}
}

解决方案 »

  1.   

    一个简单的逻辑如下,可以根据自己的要求更改。请指正。private void mydir(string dir)
    {
      foreach(string d in System.IO.Directory.Getfiles(dir))
      {
         displayfile(d);  // whatever function you like;
      }
      
      foreach(string m in System.IO.Directory.GetDirectories(dir))
      {
         displaydir(m);   // whatever
         mydir(m);
      }
    }
      

  2.   

    hehe,马上给分了,昨天休息日,真不好意思了。