第一种方法:使用Microsoft.Win32.OpenFileDialog()
.NET 5中,根据官方文档,OpenFileDialog属于通用型窗体,可以直接调用Microsoft.Win32.OpenFileDialog()方法打开对话框,原文如下链接:
第二种方法:使用.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);
}
}
}
}
本文为个人原创,自己一点点理解,如有错误,烦请指点。