WPF常用控件-选择文件与保存文件窗口

OpenFileDialog

OpenFileDialog类型位于Microsoft.Win32命名空间下,用于在WPF中弹出文件选择窗口进行文件的选择。

csharp 复制代码
private void DoSelectFiles()
{
    OpenFileDialog openFileDialog = new OpenFileDialog();
    openFileDialog.Multiselect = true;
    if (openFileDialog.ShowDialog() == true)
    {
        if (openFileDialog.FileNames != null && openFileDialog.FileNames.Length > 0)
        {
            for (int i = 0; i < openFileDialog.FileNames.Length; i++)
            {
                ......
            }
        }
    }
}

常用属性

Filter:过滤器,可以设置可以选择的文件类型。

csharp 复制代码
openFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"

InitialDirectory:文件选择框的初始目录。

csharp 复制代码
openFileDialog.InitialDirectory = @"d:\";

Multiselect:是否支持多选。

csharp 复制代码
openFileDialog.Multiselect = true;

FileName`FileNames`:所选文件的文件名。

常用方法

bool ShowDialog([Window owner]):展示选择文件框,可以通过传参来指定父类窗体,当确定选择时,返回true,当直接关闭窗口时返回false

Stream OpenFile():打开并返回所选文件的流对象。

Stream[] OpenFiles():打开并返回所选文件的流对象集合。

SaveFileDialog

SaveFileDialog类型位于Microsoft.Win32命名空间下,用于在WPF中弹出进行文件保存的路径选择及保存文件名称、文件类型的设置窗口。

其用法跟OpenFileDialog大同小异。

csharp 复制代码
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "保存文件"; // 设置对话框标题
saveFileDialog.FileName = "myfile.txt"; // 设置默认文件名
saveFileDialog.DefaultExt = ".txt"; // 设置默认文件扩展名
saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; // 设置文件类型过滤器
saveFileDialog.InitialDirectory = @"C:\"; // 设置初始目录

bool? result = saveFileDialog.ShowDialog();

if (result == true)
{
    string filePath = saveFileDialog.FileName;
    // 处理文件保存逻辑
}
相关推荐
阿湯哥4 小时前
多智能体架构深度解析:企业落地如何选择Skills与SubAgents?
架构·wpf
源之缘-OFD先行者4 小时前
自研 WPF 鸟情图表:性能与灵活的双重突破
wpf
Moqiqiuzi5 小时前
WPF单实例启动
wpf
Moqiqiuzi5 小时前
WPF程序打包成安装包的方法
wpf
码农水水15 小时前
国家电网Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·网络·分布式·面试·wpf
码农水水18 小时前
京东Java面试被问:HTTP/2的多路复用和头部压缩实现
java·开发语言·分布式·http·面试·php·wpf
闻缺陷则喜何志丹1 天前
【C# WPF】TextBox的数据绑定
ui·c#·wpf·mvvm·数据绑定·textbox
码农水水2 天前
得物Java面试被问:大规模数据的分布式排序和聚合
java·开发语言·spring boot·分布式·面试·php·wpf
时光慢煮2 天前
行走在多端之间:基于 Flutter × OpenHarmony 的旅行记录应用实践 —— 旅行详情查看模块解析
flutter·华为·开源·wpf·openharmony
xiaobaishuoAI3 天前
分布式事务实战(Seata 版):解决分布式系统数据一致性问题(含代码教学)
大数据·人工智能·分布式·深度学习·wpf·geo