Здравствуйте, я хотел бы, чтобы я мог перетащить строку из datagridview, чтобы скопировать файл в папку, которую я отбрасываю.Извлечь файлы из datagridview
Строки одного выбора, и у меня есть столбец пути к файлу, который имеет полный путь источника для файла строки.
Есть ли что-то, что я могу сделать с помощью DragLeave, чтобы удержать этот путь к файлу, и когда я отпустите мышь, выполните копию?
Закончен с использованием ключа-модификатора, но он работает. Только для одного файла за раз, потому что я запрограммировал свое контекстное меню.
if (Control.ModifierKeys == Keys.Shift)
{
//Drag out
string[] selectedFiles = new String[1];
selectedFile[0] = filesGrid[pathColumn.Index,filesGrid.SelectedRows[0].Index].Value.ToString();
DataObject dragData = new DataObject(DataFormats.FileDrop, selectedFiles);
dragData.SetData(DataFormats.StringFormat, selectedFiles[0]);
DoDragDrop(dragData, DragDropEffects.Copy);
}
похоже, что он отлично справляется с переносом данных из одного элемента управления в другой, datagridview в окно списка, однако я не уверен, что делать после начала перетаскивания. Если бы мне нужно было сделать Ctrl + Left Click, как предложил этот автор, нет никаких свойств DragEnter или DragDrop для рабочего стола, о котором я знаю. – ikathegreat
Я бы не был так уверен;) http://social.msdn.microsoft.com/forums/en-US/winforms/thread/60f3ef88-ff7d-4846-b28f-3c97dcef7583/ – phadaphunk
Я отмечу как ответ , вопрос отредактирован, чтобы показать код. Я могу оставить только один файл за раз, потому что мне нужно отключить мультиселекцию (ограничения контекстного меню), но это лучше, чем ничего в моем случае. Благодарю. – ikathegreat