你如果要保持文件同步可以看看FileSystemWatcher组件,他因该能满足你的要求

解决方案 »

  1.   

    VB。NET中的treeview可以实现这个功能,难道C#里就不行吗?
      

  2.   

    private System.Windows.Forms.ImageList fileIconList;
            private System.Windows.Forms.TreeView FolderTree;
            private System.ComponentModel.IContainer components;    private void FolderTree_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
            {
                if(e.Node.Text.ToString()!="我的电脑")
                    EnumDirectories(e.Node);
                else
                    EnumDrives(e.Node);
            }        private void EnumDrives(TreeNode ParentNode)
            {
                if(ParentNode.Nodes.Count==0)
                {    
                    foreach(string drive in Directory.GetLogicalDrives())
                    {
                        FolderTree.SelectedNode=ParentNode;
                        TreeNode TempNode=new TreeNode();
                        TempNode.Text=drive.Substring(0,drive.Length-1);
                        TempNode.Tag=drive;
                        TempNode.ImageIndex=1;
                        TempNode.SelectedImageIndex=1; 
                        FolderTree.SelectedNode.Nodes.Add(TempNode);
                        FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count-1].EnsureVisible();
                    }
                }
            }        private void EnumDirectories(TreeNode ParentNode)
            {
                FolderTree.SelectedNode=ParentNode;
                string DirectoryPath=ParentNode.Tag.ToString();
                if(ParentNode.Nodes.Count==0)
                {
                    if(DirectoryPath.Substring(DirectoryPath.Length-1)!=@"\")
                        DirectoryPath+=@"\";
                    try
                    {
                        foreach(string directory in Directory.GetDirectories(DirectoryPath))
                        {
                            TreeNode TempNode=new TreeNode();
                            TempNode.Text=directory.Substring(directory.LastIndexOf(@"\")+1);
                            TempNode.Tag=directory;
                            TempNode.ImageIndex=3;
                            TempNode.SelectedImageIndex=2;
                            FolderTree.SelectedNode.Nodes.Add(TempNode);
                            FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count-1].EnsureVisible();
                        }
                    }
                    catch(Exception)
                    {
                    }
                }
            }
    }
      

  3.   

    VB。NET中的treeview可以实现这个功能 。c#肯定能实现啊
    我到写了一个不过是vb.net 的  类似与windows 的资源管理器一样的东东
      

  4.   

    看看这个: http://www.c-sharpcorner.com/Code/2002/Aug/WinExplorer.asp
      

  5.   

    http://www.cnblogs.com/rudyshen/articles/28904.aspx
      

  6.   

    dahuzizyd提供的例子很不错
    呵呵