问题描述
|
在我的应用程序中,用户可以将文件从Windows资源管理器拖放到我的应用程序中的列表框中。这一切都很好,但是当拖动多个文件时,取决于用户在Windows资源管理器中单击哪个文件开始拖动,调用时传递的文件顺序会有所不同:
e.Data.GetData(DataFormats.FileDrop)
如何以与Windows资源管理器中显示的相同顺序接收文件?
谢谢你的帮助!
解决方法
您收到它们的顺序就是选择它们的顺序。我曾经遇到过这个问题,据我所知,您无法按照Explorer的排序顺序来获取它们。
因此,您的代码应假定用户出于某种原因按此顺序选择了它们。
,如果您从0000到0010中选择了一堆文件,然后将它们拖到应用程序中(例如,将视频文件拖到VLC中)。
资源管理器将不按照您选择项目的顺序来提供列表,而是从您单击鼠标左键拖动到的项目中来。
单击0000,它们将按数字顺序显示。
单击0003,它们将显示从0003到0010,然后显示0001和0002
因此,“拖放”的正确方法是始终从顶部拖动。