如何通过单个 WinForm 对话框获取文件夹或文件路径

本文关键字:文件夹 文件 路径 获取 对话框 何通过 单个 WinForm | 更新日期: 2023-09-27 18:32:49

更新:看来我不清楚我的问题是什么。约翰·阿伦(John Arlen(对我标题的编辑似乎也引起了更多的误解。标题更改为"如何获取文件夹或文件路径?"这不是我想要的。我知道有一个对话框适用于文件,另一个对话框适用于文件夹。我知道这些对话框中的每一个都可以返回文件夹或文件的路径。我说我不知道如何获取文件路径,但即使我知道该怎么做,它也没有帮助我。

正如我最初的问题中所述:

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

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

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

由于提出我自己的实现可能既耗时又困难,所以我暂时不做。我会等几天来选择一个答案,以防有人提供非常有用的答案。

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

原创内容:

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

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

这可以通过WinForms对话框实现吗?我宁愿此时不必编写自己的对话框。

如何通过单个 WinForm 对话框获取文件夹或文件路径

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

检查它是什么。