更新记录:
转载请注明出处:https://www.cnblogs.com/cqpanda/p/16474839.html
2022年7月14日 发布。
默认情况下,C# Winforms不支持多选文件夹。为了支持多选文件夹,需要调用Windows API,好在已经有大佬封装好了,直接调用就行了。
安装包
首先,安装WindowsAPICodePack-Shell包。
注意:一定要安装1.1.1版本,不要安装新版本,不然可能用不了。
Install-Package WindowsAPICodePack-Shell -Version 1.1.1
## 防抄 panda666
使用多选文件夹
然后,引入命名空间。
using Microsoft.WindowsAPICodePack.Dialogs;
在代码中就可以使用了。
/// <summary>
/// 打开文件夹(多选)组件
/// </summary>
private CommonOpenFileDialog commonOpenFileDialog;
/// <summary>
/// 初始化多选窗口组件
/// </summary>
private void InitCommonOpenFileDialog()
{
this.commonOpenFileDialog = new CommonOpenFileDialog();
//设置为选择文件夹
this.commonOpenFileDialog.IsFolderPicker = true;
//设置为多选
this.commonOpenFileDialog.Multiselect = true;
//设置标题
this.commonOpenFileDialog.Title = "选择要处理的文件夹(支持多选)";
//设置
this.commonOpenFileDialog.RestoreDirectory = true;
//防抄 panda666
}
/// <summary>
/// 选择文件夹
/// </summary>
private void Select()
{
if (this.commonOpenFileDialog.ShowDialog() == CommonFileDialogResult.Ok)
{
//获得用户选择文件夹(多个)
var userSelectFolderPaths = this.commonOpenFileDialog.FileNames;
}
}
参考链接:https://stackoverflow.com/questions/29917502/how-do-a-make-this-type-of-select-folder-dialog-in-c
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/274256.html