使用选择文件的窗口样式选择文件夹
零、需求
传统的选择文件夹的方式太小了,不好操作,不过选择文件的方式倒是挺不错的,能不能把选择文件夹的方式改为选择文件这种样式呢?
- 选择文件夹
- 选择文件
壹、解决
1. 通过 WindowsAPICodePack 解决
安装
在VS中选择 “工具” -> “NuGet 包管理器” -> “程序包管理器控制台” 输入如下命令安装 WindowsAPICodePack 1.1.2 。
NuGet\Install-Package WindowsAPICodePack -Version 1.1.2
或者通过以下链接下载:
https://www.nuget.org/api/v2/package/WindowsAPICodePack/1.1.2
或者下载我上传到博客园的资源:
下载好后安装好即可。
使用
var commonOpenFileDialog = new CommonOpenFileDialog
{
IsFolderPicker = true, //设置为true为选择文件夹,设置为false为选择文件
Title = "选择文件夹",
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
};
var result = commonOpenFileDialog.ShowDialog();
if (result == CommonFileDialogResult.Ok)
{
string str = commonOpenFileDialog.FileName;
MessageBox.Show(str);
}
效果
2. 通过Ookii解决
安装
在VS中选择 “工具” -> “NuGet 包管理器” -> “程序包管理器控制台” 输入如下命令安装 Ookii.Dialogs.WinForms 1.0.0 (.Net版本需要4.5及以上)。
NuGet\Install-Package Ookii.Dialogs.WinForms -Version 1.0.0
或者通过以下链接下载:
https://www.nuget.org/api/v2/package/Ookii.Dialogs.WinForms/1.0.0
或者下载我上传到博客园的资源:
下载好后安装好即可。
使用
var folderDialog = new Ookii.Dialogs.WinForms.VistaFolderBrowserDialog
{
Description = "选择文件夹"
};
if (folderDialog.ShowDialog() == DialogResult.OK)
{
MessageBox.Show(folderDialog.SelectedPath);
}
效果
贰、参考资料
http://blog.baibaota.com/2062.html
http://www.ookii.org/software/dialogs/
https://blog.csdn.net/xieehu/article/details/125521885