重庆熊猫 Loading

Winforms 多选文件夹(C#)

更新记录:
转载请注明出处: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

posted @ 2022-07-14 06:54  重庆熊猫  阅读(1132)  评论(0编辑  收藏  举报