6

更新:似乎我不清楚我的问题是什么。John Arlen 对我的标题的编辑似乎也引起了更多的误解。标题更改为“如何获取文件夹或文件路径?” 这不是我所追求的。我知道有一个对话框可以处理文件,另一个对话框可以处理文件夹。我知道这些对话框中的每一个都可以返回文件夹或文件的路径。我说我不确切知道如何获取文件路径,但即使我知道如何获取它也没有帮助我。

正如我原来的问题所述:

“我让用户通过某个对话框选择一个文件夹或文件。我不知道该路径是属于文件夹还是文件。一旦用户点击“打开”按钮,我想要当前选择的目录或要存储在字符串中的文件路径。”

我的意思是我想使用一些可能存在也可能不存在的对话框。我不知道用户是在寻找文件还是文件夹。用户知道这一点,但用户不知道路径。这就是使用对话框的原因。用户将搜索所需的文件或文件夹,然后单击“打开”。为满足我的需要使用单个对话框更有意义。我想看看是否存在这样的对话框,因为我对 .NET Framework 的经验有限。

Jared Kells 的答案几乎正是我想要的。在阅读了他提供的内容后,似乎不存在这样的对话框。我将不得不提供我自己的实现。

由于提出我自己的实现可能既费时又困难,所以我暂时不用。如果有人提供了非常有用的答案,我将等待几天来选择答案。

感谢那些做出贡献的人,即使这不是我所追求的。

原创内容:

我正在寻找一种获取文件夹或文件的文件路径的方法。我玩过,OpenFileDialogFolderBrowserDialog没有多少成功。我能够使用 FolderBrowserDialog.SelectedPath 获取文件夹路径。使用OpenFileDialog该类,我无法弄清楚如何获取文件路径。

即使我能弄清楚这一点,我仍然处于困境中。我让用户通过一些对话框选择一个文件夹或文件。我不知道该路径是属于文件夹还是文件。一旦用户点击“打开”按钮,我希望将当前选择的目录或文件路径存储在一个字符串中。似乎我使用的每个类都被文件或文件夹困住了。

WinForms对话框可以做到这一点吗?我宁愿此时不必编写自己的对话。

4

1 回答 1

7
openFileDialog1.ShowDialog();
string filePath = openFileDialog1.FileName;

会给你一个文件的路径。

folderBrowserDialog1.ShowDialog();
string folderPath = folderBrowserDialog1.SelectedPath;

对于一个文件夹。

string path = ...
if(File.Exists(path))...//is file
if(Directory.Exists(path))...//is folder

检查它是什么。

于 2012-04-30T23:26:05.203 回答