5.浏览本地文件获取路径与文件名称 C#例子 WPF例子

在开发桌面应用程序时,经常需要让用户选择文件并获取其路径和名称。在 WPF 中,OpenFileDialog 是一个非常实用的控件,可以帮助我们轻松实现这一功能。本文将详细介绍如何使用 OpenFileDialog 获取文件的完整路径和文件名,并展示一个简单的示例代码。


1. 引言

在许多桌面应用程序中,用户需要从文件系统中选择文件进行操作。例如,用户可能需要选择一个配置文件、图片或其他类型的文件。

OpenFileDialog 是 WPF 提供的一个对话框控件,用于打开文件选择窗口,让用户选择文件并获取其路径和名称。


2. 使用 OpenFileDialog

2.1 创建 OpenFileDialog 实例

首先,需要创建一个 OpenFileDialog 的实例,并设置一些基本属性,如文件过滤器和初始目录。

cs 复制代码
string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;

OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "All files (*.*)|*.*"; // 设置文件过滤
openFileDialog.InitialDirectory = baseDirectory; // 设置初始目录
  • Filter :设置文件过滤器,允许用户选择特定类型的文件。例如,"All files (*.*)|*.*" 表示允许选择所有类型的文件。

  • InitialDirectory:设置对话框打开时的初始目录。通常设置为应用程序的当前目录。

2.2 显示对话框并获取用户选择

使用 ShowDialog 方法显示对话框,并检查用户是否选择了文件。制

cs 复制代码
if (openFileDialog.ShowDialog() == true)
{
    // 获取选中文件的完整路径
    string fullpath = openFileDialog.FileName;
    // 获取文件名
    string filename = Path.GetFileName(fullpath);

    // 保存完整路径
    ARBFilepath = fullpath;

    // 将文件名显示在文本框中
    TextBlock1.Text = filename;
}
  • ShowDialog :显示对话框并等待用户操作。如果用户打开了文件,返回值为 true;如果用户取消操作,返回值为 false
  • FileName:返回用户选择的文件的完整路径。虽然属性叫FileName但是获取的是路径。

  • Path.GetFileName:从完整路径中提取文件名。

3. XAML 代码

以下是对应的 XAML 代码,包含一个按钮和一个文本框,用于触发文件选择对话框并显示文件名。

XML 复制代码
        <Button Content="选择文件" Click="Button_Click"/>
        <TextBlock Name="TextBlock1"/>

4. 总结

通过 OpenFileDialog,我们可以轻松地让用户选择文件,并获取其完整路径和文件名。FileName 属性返回的是完整路径,而 Path.GetFileName 方法可以从中提取文件名。在实际开发中,可以根据需要对文件路径进行进一步处理,例如计算相对路径或进行文件操作。

希望本文能帮助你更好地理解和使用 OpenFileDialog。如果有任何疑问或建议,欢迎在评论区留言。


6. 参考资料

相关推荐
A***27951 分钟前
Kotlin反射机制
android·开发语言·kotlin
E***q5396 分钟前
C++内存对齐优化
开发语言·c++
q***d17327 分钟前
Kotlin在后台服务中的框架
android·开发语言·kotlin
周杰伦fans34 分钟前
C# 中的 `Hashtable`
开发语言·c#
习习.y39 分钟前
关于python中的面向对象
开发语言·python
lingggggaaaa39 分钟前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
技术净胜40 分钟前
MATLAB 基因表达数据处理与可视化全流程案例
开发语言·matlab
友友马40 分钟前
『Qt』多元素控件
开发语言·qt
hmbbcsm1 小时前
练习python题目小记(六)
开发语言·python
4***V2021 小时前
Vue3响应式原理详解
开发语言·javascript·ecmascript