c# openfiledialog 选择多个文件,其顺序与用户选择的顺序相同

Mut*_*raj 2 .net c# filedialog openfiledialog c#-3.0

在我的 C# Windows 应用程序中,我喜欢在用户在 openfiledialog 窗口中选择文件时获取具有相同顺序的多个文件。我获取了所有选定的文件,但其顺序不正确。任何人都可以帮我解决这个问题。

Ano*_*ard 5

如果您查看底层控件接口OPENFILENAME的文档,您将看到以下注释:

如果用户选择多个文件,lpstrFile 缓冲区将返回当前目录的路径,后跟所选文件的文件名。

而且,除了对用于不同场景的分隔符的一些注释、如果没有足够的缓冲区该怎么办以及有关旧版 8.3 支持的一些详细信息之外,仅此而已。换句话说,OpenFileDialog 不提供任何机制来冒泡排序信息,因为底层 Windows 通用对话框无论如何也不提供通过标准接口获取此信息的功能。

如果必须保留它,则需要创建自己的表单或对话框来按顺序跟踪选择,老实说,最好提供一个稍微不同的 UI,允许用户在选择文件后重新排序文件它们,类似于在某些移动设备上重新排序列表的方式。