第一种方法:使用Microsoft.Win32.OpenFileDialog()

.NET 5中,根据官方文档,OpenFileDialog属于通用型窗体,可以直接调用Microsoft.Win32.OpenFileDialog()方法打开对话框,原文如下链接:

https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/windows/how-to-open-common-system-dialog-box?view=netdesktop-5.0#open-file-dialog-box

第二种方法:使用.Net Framework中的类:

1. 右击项目的“依赖项”,选择添加引用;

2. 点击“浏览”,在弹出的文件选择框中,找到 system.windows.forms.dll 文件。

这里需要注意:.NET的安装位置,根据操作系统和其本身的版本的不同而不同。我这是windows 10 64位的企业版,安装的vs2019最新版。因此system.windows.forms.dll文件位于:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2。各位读者应该找自己机器上安装的位置。

点击“添加”,然后在图一中,选中System.windows.Forms.dll,并点击“确定”。至此,你的项目引用中就已经添加了这个dll文件的应用。

3. 在代码也,加入system.windows.forms命名空间。

这个地方的做法,就是普通的C#语言,在文件的头部,添加一条using 语句以导入命名空间:

using System.Windows.Forms;

第四,在你需要的地方,使用OpenFileDialog类:

        // 浏览文件
        private void Btn_Browse(object sender, RoutedEventArgs e)
            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Filter = "所有文件.*|*.*";
            fileDialog.Multiselect = true;
            if( fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                string[] filenames = fileDialog.FileNames;
                foreach(string str in fileDialog.FileNames)
                    // 去除重复的
                    if(!lsb_Files.Items.Contains(str))
                        lsb_Files.Items.Add(str);

本文为个人原创,自己一点点理解,如有错误,烦请指点。

众所周知,在WPF程序中,要是实现“浏览”(也就是打开一个窗体,可以在其中选择文件)的功能,最方便的莫过于使用Windows Form程序中的OpenFileDialog类。 因此在WPF程序中,需要去引用System.Windows.Forms命名空间。在最新的VS2019中,最新的.NET CORE 也增加了WPF应用。但因为.NET Core的架构与.Net Framework有所不同,... 在WPF,使用Microsoft.Win32.OpenFileDialog只能选择文件,FolderBrowserDialog只能用树型的方式选择文件夹,很不好用. 终于找到一个办法,使用Windows API Code Pack 在VS里打开Package Manager Console后输入Install-Package Windows...
今天想用 .net core做个小程序。却意外的发现没有可视化编辑器!!!(重要的事情用三个感叹号) 虽然我搞了十多年的 .net 开发,但是我确实从来没有自己编辑过 Designer.cs 这个文件。微软不是不让我编辑么! /// <summary> /// Required method for Designer support - do not m...
1. WPF 使用这个方法打开文件,很方便,而且可以记住上次打开的路径。 Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog(); openFileDialog.Multiselect = false;
C#winfrom技术打开文件操作总结(OpenFileDialog类)   在C#的winfrom打开文件可以使用OpenFileDialog类进行操作。下面详细讲解这个类的常见属性和使用方法。   OpenFileDialog使用的命名空间是:System.Windows.Forms; 它不可以在控制台工程使用,它与 Windows 操作系统的“打开文件”对话框相同,是从 Com...
WPF文件浏览对话框的实现可以利用Windows API Code Pack,它是一个用于访问Windows Vista/7 特性的托管代码函数库,但并没有包含在.NET 4.0。 该代码包的特性如下所示: 支持Windows Shell命名空间对象,包括新的Windows 7资源库(Libraries)、固定名称文件夹和非文件系统容器。Windows Vista和Window
FileName 获取或设置一个字符串,其包含在文件对话框选定的文件的完整路径。 参见:FileDialog.FileName Property (Microsoft.Win32) FileNames 获取一个数组,其包含与每个选定文件一...
".NET Core", ".NET Framework", WPF (Windows Presentation Foundation), 和 WinForms (Windows Forms) 都是与 .NET 相关的技术,但它们有一些区别。 1. .NET Framework: - .NET Framework 是最早发布的 .NET 平台,它是用于构建 Windows 应用程序的一种技术框架。 - 它提供了广泛的类库和功能,用于开发各种类型的应用程序,包括桌面应用程序、Web 应用程序和服务应用程序等。 - .NET Framework 只能在 Windows 操作系统上运行,因此它对于跨平台开发是不够灵活的。 2. .NET Core: - .NET Core 是微软在 .NET 平台的下一代开发平台,它是一个跨平台的开源框架。 - .NET Core 支持在 Windows、macOS 和 Linux 等多个操作系统上运行,因此可以实现跨平台开发。 - 它具有较小的安装包大小、更快的性能和更好的可扩展性。 - .NET Core 提供了 ASP.NET Core(用于构建 Web 应用程序)和 EF Core(用于数据访问)等组件。 3. WPF (Windows Presentation Foundation): - WPF 是一种用于构建 Windows 桌面应用程序的用户界面技术。 - 它提供了丰富的界面设计功能,支持XAML(可扩展应用程序标记语言)来定义应用程序的用户界面。 - WPF 可以与 .NET Framework 或 .NET Core 一起使用。 4. WinForms (Windows Forms): - WinForms 是一种用于构建 Windows 桌面应用程序的用户界面技术。 - 它使用基于事件的编程模型,通过在上添加控件来构建应用程序的用户界面。 - WinForms 只能与 .NET Framework 一起使用。 .NET Core 是一个跨平台的开源框架,可以用于构建各种类型的应用程序,包括 Web 应用程序和桌面应用程序。.NET Framework 是一个仅限于 Windows 平台的框架,具有更广泛的类库和功能。WPF 和 WinForms 则是两种用于构建 Windows 桌面应用程序的用户界面技术。