在C#的Windows Forms应用开发中,通过浏览按钮获取文件路径和文件夹路径是非常常见的需求,.NET框架内置了对应的对话框控件,不需要开发者自行实现复杂的路径选择逻辑,只需要简单配置和调用就能完成功能。

获取文件路径的方法
获取单个或多个文件路径可以使用OpenFileDialog控件,该控件会弹出系统自带的文件选择对话框,用户选择文件后返回对应的路径信息。
基础实现步骤
首先在窗体上添加一个按钮控件,用于触发浏览操作,再添加一个文本框控件,用于显示选择的文件路径。双击按钮进入点击事件处理逻辑,具体代码如下:
using System;
using System.Windows.Forms;
namespace PathSelectDemo
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void btnSelectFile_Click(object sender, EventArgs e)
{
// 创建OpenFileDialog实例
OpenFileDialog openFileDialog = new OpenFileDialog();
// 设置对话框标题
openFileDialog.Title = "选择文件";
// 设置初始目录为我的文档
openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
// 设置文件筛选器,格式为 描述|后缀,多个后缀用分号分隔
openFileDialog.Filter = "所有文件|*.*|文本文件|*.txt|图片文件|*.jpg;*.png;*.gif";
// 设置是否允许选择多个文件
openFileDialog.Multiselect = false;
// 显示对话框,判断用户是否点击了确定按钮
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// 获取选择的文件路径,如果是多选则使用openFileDialog.FileNames获取所有路径数组
string selectedFilePath = openFileDialog.FileName;
// 将路径显示到文本框中
txtFilePath.Text = selectedFilePath;
}
}
}
}
常用属性说明
- Title:设置文件选择对话框的标题文字
- InitialDirectory:设置对话框打开时的默认目录,可以使用Environment.GetFolderPath获取系统特殊目录
- Filter:设置文件筛选规则,用户可以通过下拉框选择只显示特定类型的文件
- Multiselect:设置是否允许同时选择多个文件,默认值为false
- FileName:用户选择单个文件后,该属性返回完整的文件路径,包含文件名和后缀
- FileNames:当用户开启多选时,该属性返回所有选中文件的路径数组
获取文件夹路径的方法
获取文件夹路径可以使用FolderBrowserDialog控件,该控件会弹出文件夹选择对话框,用户只能选择目录而不能选择具体文件。
基础实现步骤
同样在窗体上添加一个按钮和文本框,按钮点击事件的处理逻辑如下:
using System;
using System.Windows.Forms;
namespace PathSelectDemo
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void btnSelectFolder_Click(object sender, EventArgs e)
{
// 创建FolderBrowserDialog实例
FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
// 设置对话框上方的描述文字
folderBrowserDialog.Description = "请选择要操作的文件夹";
// 设置是否显示新建文件夹按钮
folderBrowserDialog.ShowNewFolderButton = true;
// 设置默认选中的目录,可以为空
folderBrowserDialog.SelectedPath = @"C:";
// 显示对话框,判断用户是否点击了确定按钮
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
// 获取选择的文件夹路径
string selectedFolderPath = folderBrowserDialog.SelectedPath;
// 将路径显示到文本框中
txtFolderPath.Text = selectedFolderPath;
}
}
}
}
常用属性说明
- Description:设置对话框上方的提示描述文字,引导用户操作
- ShowNewFolderButton:设置是否允许用户在选择对话框中新建文件夹,默认值为true
- SelectedPath:设置对话框打开时的默认选中目录,也可以获取用户最终选择的文件夹完整路径
注意事项
在使用这两个对话框控件时,需要注意以下几点:
- 两个对话框的ShowDialog方法会阻塞当前线程,直到用户关闭对话框才会继续执行后续代码
- 如果用户点击了取消按钮,ShowDialog的返回值不是DialogResult.OK,此时不要尝试获取路径,否则可能获取到空值或默认值
- 如果需要在WPF应用中实现类似功能,可以使用Microsoft.Win32命名空间下的OpenFileDialog和FolderBrowserDialog,用法和Windows Forms中的类似,只是部分属性名称有细微差异
- 获取到的路径是字符串类型,后续如果需要操作文件或文件夹,建议先判断路径是否存在,避免出现文件不存在的异常
需要注意的是,FolderBrowserDialog是传统的文件夹选择控件,样式比较老旧,如果需要更现代风格的文件夹选择界面,也可以考虑使用OpenFileDialog并设置ValidateNames为false、CheckFileExists为false,同时修改Filter属性来实现,不过这种方式兼容性稍差,需要根据项目需求选择。
C#OpenFileDialogFolderBrowserDialog文件路径文件夹路径修改时间:2026-06-24 05:03:21