【WinForm】使用选择文件的窗口样式选择文件夹

使用选择文件的窗口样式选择文件夹

零、需求

传统的选择文件夹的方式太小了,不好操作,不过选择文件的方式倒是挺不错的,能不能把选择文件夹的方式改为选择文件这种样式呢?

  • 选择文件夹
    传统的选择文件夹
  • 选择文件
    传统的选择文件

壹、解决

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

或者下载我上传到博客园的资源:

Winform选择文件夹对话框插件.7z

下载好后安装好即可。

使用

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);
}

效果

WindowsAPICodePack 选择文件夹

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

或者下载我上传到博客园的资源:

Winform选择文件夹对话框插件.7z

下载好后安装好即可。

使用

var folderDialog = new Ookii.Dialogs.WinForms.VistaFolderBrowserDialog
{
    Description = "选择文件夹"
};

if (folderDialog.ShowDialog() == DialogResult.OK)
{
    MessageBox.Show(folderDialog.SelectedPath);
}

效果

Ookii 选择文件夹

贰、参考资料

http://blog.baibaota.com/2062.html
http://www.ookii.org/software/dialogs/
https://blog.csdn.net/xieehu/article/details/125521885

posted @ 2022-11-22 16:34  清风来叙  阅读(353)  评论(0编辑  收藏  举报