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