FolderBrowserDialog
来自的班级System.Windows.Forms
是显示一个对话框,允许用户选择一个文件夹中的推荐方法。
直到最近,该对话框的外观和行为仍与其他文件系统对话框不一致,这是人们不愿意使用它的原因之一。
好消息是,它FolderBrowserDialog
在NET Core 3.0中得到了“现代化”,对于那些针对该版本或更高版本编写Windows Forms或WPF应用程序的人来说,现在是一个可行的选择。
在.NET Core 3.0中,Windows Forms用户[sic] Windows Vista中引入了较新的基于COM的控件:
要在NET Core WPF应用程序中引用System.Windows.Forms
,必须编辑项目文件并添加以下行:
<UseWindowsForms>true</UseWindowsForms>
可以直接放置在现有的 <UseWPF>
元素之后。
然后,这只是使用对话框的一种情况:
using System;
using System.Windows.Forms;
...
using var dialog = new FolderBrowserDialog
{
Description = "Time to select a folder",
UseDescriptionForTitle = true,
SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
+ Path.DirectorySeparatorChar,
ShowNewFolderButton = true
};
if (dialog.ShowDialog() == DialogResult.OK)
{
...
}
FolderBrowserDialog
具有一个RootFolder
应该“设置浏览开始的根文件夹”的属性,但是无论我将其设置为什么,都没有任何区别;SelectedPath
似乎是用于此目的的更好的属性,但是必须在结尾加上反斜杠。
同样,该ShowNewFolderButton
属性似乎也被忽略,无论如何总是显示该按钮。