OriginalGriff
Это зависит от того, что вы тащите, но...
Это двухэтапный процесс: вам нужно включить drop в целевой форме (для этого используются файлы)
1) Установите для свойства AllowDrop вашей формы значение True
2) создать обработчик для события dragenter и dragdrop события вашей формы.
3) в обработчике события dragenter, добавьте следующую строку кода:
e.Effect = DragDropEffects.Move;
4) в обработчике DragDrop добавьте следующее:
string[] files = (string[]) e.Data.GetData(DataFormats.FileDrop);
if (files != null)
{
foreach (string file in files)
{
Console.WriteLine(file); // Or whatever you need to do...
}
}
В исходной форме это немного сложнее, так как вам нужно использовать элемент управления, поддерживающий перетаскивание, например ListView.
1) обработайте событие controls ItemDrag. В этом случае ListView:
private void myListView_ItemDrag(object sender, ItemDragEventArgs e)
{
StringCollection s = new StringCollection();
s.Add(@"D:\Test Data\MyPic.jpg");
DataObject obj = new DataObject();
obj.SetFileDropList(s);
myListView.DoDragDrop(obj, DragDropEffects.Copy);
}
2) Вот именно!
Member 12154788
Можете ли вы объяснить мне этот код
строка[] файлов = (строка[]) Эл.Данных.Метода GetData(Версии Dataformats.FileDrop);
if (files != null)
{
foreach (строковый файл в файлах)
{
Приставка.WriteLine(file); / / или все, что вам нужно сделать...
}
}