100分 关于treeview生成类似资源管理器形势的目录树
如何建立一个treeview。让它显示一个指定目录下所有层次的子目录和文件。即类似资源管理器的样子。
------解决方案--------------------http://www.cnblogs.com/sxg1010/archive/2006/07/28/462420.html 
 http://www.cnblogs.com/yuyijq/archive/2005/08/04/207210.html
------解决方案--------------------http://www.codeproject.com/cs/miscctrl/FileBrowser.asp   
 一个强人写好的控件,直接拖过来就可以用
------解决方案--------------------http://www.codeproject.com/useritems/TreeViewFileExplorer.asp 
 http://www.codeproject.com/csharp/tv-lv-basic41.asp
------解决方案--------------------=============================================================== 
 ///  <summary>  
         /// 向树图添加盘符 
         ///  </summary>  
         private void FilltvwDirectory() 
         { 
             //获取当前设备 盘符,并添加到数组 drivers[i] 里面 
             string[] drives = Environment.GetLogicalDrives(); 
             for (int i = 0; i  < drives.Length; i++) 
             { 
                 TreeNode cRoot = new TreeNode(drives[i]); 
                 //TreeNode cRoot = new TreeNode(); 
                 //cRoot.Text = drives[i]; 
                 treeView1.Nodes.Add(cRoot); 
                 AddDirectories(cRoot); 
             } 
         } 
         ///  <summary>  
         /// 创建方法,添加盘符下的文件夹 
         ///  </summary>  
         ///  <param name= "node ">  </param>  
         private void AddDirectories(TreeNode node) 
         { 
             try 
             { 
                 // 获取当前节点路径\ 
                 DirectoryInfo dir = new DirectoryInfo(GetPathFormNode(node)); 
                 // 获取当前节点所在的路径下的子文件夹 
                 DirectoryInfo[] e = dir.GetDirectories();   
                 for (int i = 0; i  < e.Length; i++) 
                 { 
                     string name = e[i].Name; 
                     //判断是否是上级目录 
                     if (!name.Equals( ". ") && !name.Equals( ".. ")) 
                     { 
                         node.Nodes.Add(new TreeNode(name)); 
                     } 
                 }                   
             } 
             catch (Exception ex) 
             { 
                 MessageBox.Show(ex.ToString()); 
             } 
         } 
         ///  <summary>  
         /// 获取节点的路径 
         ///  </summary>  
         ///  <param name= "node ">  </param>  
         ///  <returns>  </returns>  
         private string GetPathFormNode(TreeNode node) 
         { 
             if (node.Parent == null) 
             { 
                 return node.Text; 
             } 
             return Path.Combine(GetPathFormNode(node.Parent),node.Text); 
             //递归调用产生节点对应文件夹的路径 
            // Path.Combine 组合产生路径,如 Path.combine( "A ", "B ") 侧生成  "A\\B "   
         }