DragDrop.DoDragDrop
может сделать это, если вы передадите ему соответствующее значение DataObject
.
Сначала скопируйте файлы куда-нибудь.Вы можете использовать System.IO.Path.GetTempPath()
, если вам некуда лучше.
Далее создайте строковый массив, содержащий полные пути к файлам, и сделайте следующее:
string[] paths = ...;
DragDrop.DoDragDrop(this, new DataObject(DataFormats.FileDrop, paths),
DragDropEffects.Copy);
Это на самом делеМожно сделать это без предварительного копирования файлов, но это приводит к некоторым сложным взаимодействиям IDataObject, поэтому, если ваши файлы потенциально очень большие и еще не находятся в файловой системе, я сначала попробую этот метод.