C# WPF上位机开发(文件对话框和目录对话框)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

一个上位机软件在处理数据的时候,除了配置文件、数据文件之外,一般还需要使用选择对话框进行文件和目录的选取。如果不这样做,那么就需要先关闭软件,修改配置文件后再重新打开,这样就不是很方便。不过c# wpf本身已经提供了文件对话框、目录对话框的方案,大家只要学会使用就可以了。

1、文件对话框

使用文件对话框之前,需要需要引用Win32命名空间,

using Microsoft.Win32;

引入了命名空间之后,我们就可以接着通过OpenFileDialog这个结构体来进行文件的选择操作。使用之前,一般还需要对OpenFileDialog进行属性设置,比如标题,需要过滤哪些文件。等设置好之后,直接调用它的ShowDialog函数就可以显示出来了。结束之后,如果需要显示相关文件的路径或者名称,那么获取seletedFilePath这个属性就可以了,

            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Title = "选择文件";
            openFileDialog.Filter = "文本文件|*.txt|所有文件|*.*";

            if (openFileDialog.ShowDialog() == true)
            {
                string selectedFilePath = openFileDialog.FileName;        
                MessageBox.Show($"选择的文件路径: {selectedFilePath}", "文件已选择");
            }

编译后,运行的效果是这样的,

2、目录对话框

和文件对话框相对应的就是目录对话框,很多时候软件操作的不仅是一个文件,而是需要选择一个目录。假设来说,我们需要对一个目录下面的所有文件进行一个批处理的操作,比如这个文件可能是文档doc,又或者是图片bmp等等。再比如,一个项目可能本身就包含了很多的文件类型,那么这个时候加载工程的时候,也只需要加载对应的目录就可以了,而不是一个文件一个文件单独去加载,毕竟这样会琐碎、繁杂很多。

要使用目录对话框,首先需要添加对应的命名空间,

using System.Windows.Forms;

选择好了命名空间,接下来就是编写对应的代码。目前,目录对话框用到的结构体是FolderBrowserDialog。同样,使用之前,也需要设置它的一些基本属性,比如说标题。接着等对话框显示并且操作结束以后,就可以通过selectedFolderPath找到对应目录的地址了。

            using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
            {
                folderBrowserDialog.Description = "选择文件夹";
                DialogResult result = folderBrowserDialog.ShowDialog();

                if (result == System.Windows.Forms.DialogResult.OK && !string.IsNullOrWhiteSpace(folderBrowserDialog.SelectedPath))
                {
                    string selectedFolderPath = folderBrowserDialog.SelectedPath;
                    
                    System.Windows.MessageBox.Show($"选择的文件夹路径: {selectedFolderPath}", "文件夹已选择");
                }
            }

编译运行之后,它的效果是这样的,

相关推荐
软件黑马王子3 小时前
C#初级教程(4)——流程控制:从基础到实践
开发语言·c#
闲猫3 小时前
go orm GORM
开发语言·后端·golang
李白同学4 小时前
【C语言】结构体内存对齐问题
c语言·开发语言
黑子哥呢?5 小时前
安装Bash completion解决tab不能补全问题
开发语言·bash
青龙小码农5 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿6 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
彳卸风6 小时前
Unable to parse timestamp value: “20250220135445“, expected format is
开发语言
dorabighead7 小时前
JavaScript 高级程序设计 读书笔记(第三章)
开发语言·javascript·ecmascript
风与沙的较量丶7 小时前
Java中的局部变量和成员变量在内存中的位置
java·开发语言
水煮庄周鱼鱼7 小时前
C# 入门简介
开发语言·c#