2012-06-10 38 views
0

我使用Windows.Forms应用程序,我可以从我的用户使用OpenFileDialogFolderBrowserDialog获取文件或目录。但我需要在一个独特的对话中获得。我尝试使用OpenFileDialog.multselect = true并选择文件和文件夹,但是在代码为OpenFileDialog.FileNames时,此属性仅返回一个文件名,而不是选定的目录。文件系统条目浏览器对话框c#

存在一个静态方法System.IO.Directory请致电GetFileSystemEntries那正是我想要的。但我需要一个可以做到的Dialog。

任何人都可以帮到我吗?

+0

没有在随Visual Studio中的标准控件等组件。您的MultiSelect也不允许选择不同目录中的文件。 – Steve

回答

0

这是不可能得到的文件夹和文件精心单 对话框()。

根据微软的关于C#文档必须使用不同的对话框来选择文件夹和文件

0

尝试:

string baseFolder = System.IO.Directory.GetParent(strToFile).ToString(); 

这会给你的文件的文件夹名称。

0

或使用FileInfo!

FileInfo fi = new FileInfo(strToFile); 
string fileFolder = fi.DirectoryName; 
0
private void button1_Click(object sender, EventArgs e) 
     { 
      if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
      { 
       string[] files = openFileDialog1.FileNames; 

       if (files != null && files.Length > 0) 
       { 
        // returns the root directory 
        string folder = System.IO.Path.GetDirectoryName(files[0]); 

        // Obtain the file system entries in the directory path. 
        string[] directoryEntries = 
         System.IO.Directory.GetFileSystemEntries(folder); 
       } 
      } 

     }