我创建了一个具有单列的绑定 DataGridView。我希望能够将文件拖放到 DataGridView 上,并且只将文件名(路径和名称)存储到列的单元格中。我一直在做研究,这样做的方法是使用事件 DragDrop 和 DragEnter 并尝试了几种不同的方法,但都没有奏效。有谁知道如何做到这一点?
我的代码:
private void PlaylistDataGridDragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.All;
else
e.Effect = DragDropEffects.None;
}
private void PlaylistDataGridDragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
var files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (var filePath in files)
{
var a = (DataRowView) PlaylistBindingSource.AddNew();
a.BeginEdit();
a[0] = filePath;
a.EndEdit();
}
}
}