用TreeView获取磁盘目录,当点击节点或者子节点获取磁盘目录的完整目录!
代码该怎么写??

解决方案 »

  1.   

    private void Form2_Load(object sender, EventArgs e) 

    foreach (string dirver in Directory.GetLogicalDrives()) 

    TreeNode node = new TreeNode(dirver); 
    treeView1.Nodes.Add(node); 

    treeView1.NodeMouseClick+=new TreeNodeMouseClickEventHandler(treeView1_NodeMouseClick); 
    for (int i = 0, j = treeView1.Nodes.Count; i < j; i++) 

    int count = Directory.GetDirectories(treeView1.Nodes[i].Text).Length; 
    if (count > 0) 

    TreeNode tnode = new TreeNode("正在载入..."); 
    treeView1.Nodes[i].Nodes.Add(tnode); 


    } private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) 

    if (e.Node.Nodes.Count > 0) 
    e.Node.Nodes.RemoveAt(0); 
    treeView1.BeginUpdate(); 
    foreach (string folder in Directory.GetDirectories(e.Node.Text)) 

    TreeNode node = new TreeNode(folder); 
    e.Node.Nodes.Add(node); 

    treeView1.EndUpdate(); 
    for (int i = 0, j = e.Node.Nodes.Count; i < j; i++) 

    int count = Directory.GetDirectories(e.Node.Nodes[i].Text).Length; 
    if (count > 0) 

    TreeNode tnode = new TreeNode("正在载入..."); 
    e.Node.Nodes[i].Nodes.Add(tnode); 


      

  2.   

    http://hi.baidu.com/handboy/blog/item/9d87faedf2fcccd2b31cb1ae.html
      

  3.   

    web 的好象有权限方面的问题吧  ,winform的 上面的不就可以拉
      

  4.   


            private void MainForm_Load(object sender, EventArgs e)
            {
                TreeNode CountNode = new TreeNode("我的电脑");      //初始化TreeView控件添加总结点
                 TreeViewFile.Nodes.Add(CountNode);
                TreeViewFile.ExpandAll();
            }        private void TreeViewShow(TreeNode NodeDir)//初始化TreeView控件
            {
                try
                {
                    if (NodeDir.Nodes.Count == 0)
                    {
                        if (NodeDir.Parent == null)//如果结点为空显示硬盘分区
                        {
                            foreach (string DrvName in Directory.GetLogicalDrives())
                            {
                                TreeNode aNode = new TreeNode(DrvName);
                                aNode.Tag = DrvName;
                                NodeDir.Nodes.Add(aNode);
                            }
                        }// end 
                        else// 不为空,显示分区下文件夹
                        {
                            foreach (string DirName in Directory.GetDirectories((string)NodeDir.Tag))
                            {
                                TreeNode aNode = new TreeNode(DirName);
                                aNode.Tag = DirName;
                                NodeDir.Nodes.Add(aNode);
                            }
                        }
                    }
                }
                catch 
           {       }            
            }
            private void TreeViewFile_AfterSelect(object sender, TreeViewEventArgs e)
            {
                TreeViewShow(e.Node);
                TreeViewFile.ExpandAll();
            }