i与Microsoft®.NET框架的Windows®API代码包一起使用CommonOpenfiledialog类,该框架实现了Ifileopendialog接口。
有关Windows API Codepack的更多信息:http://archive.msdn.microsoft.com/windowsapicodepack
问题:以下方法返回第一个选择的文件夹 if(多个文件夹)或(mutltiple文件夹和文件)在"打开文件对话框"对话框窗口中选择。
IFileOpenDialog.GetSelectedItems([MarshalAs(UnmanagedType.Interface)] out IShellItemArray ppsai)
如何返回所有选定的元素(文件夹和文件)在ifileopendialog窗口中作为ishellitem列表,无论我在那里选择了什么?
您需要指定 MultiSelect 属性。
这是一个未划定的示例:
CommonOpenFileDialog folderDialog = new CommonOpenFileDialog("Input Folder Selection");
folderDialog.IsFolderPicker = true;
folderDialog.Multiselect = true;
if (folderDialog.ShowDialog() == CommonFileDialogResult.Ok)
{
foreach (string folderName in folderDialog.FileNames) //it's a little confusing, but FileNames represents folders as well in the API
{
// do something
}
}