Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView中的DragnDrop文件_C#_File_Datagridview - Fatal编程技术网

C# DataGridView中的DragnDrop文件

C# DataGridView中的DragnDrop文件,c#,file,datagridview,C#,File,Datagridview,我有以下DataGrid的名称gridOperations。我已将AllowDrop设置为true,并使用了以下代码: private void gridOperations_DragDrop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { var files = (string[])e.Data.GetData(DataFormats.Fi

我有以下
DataGrid
的名称
gridOperations
。我已将
AllowDrop
设置为true,并使用了以下代码:

private void gridOperations_DragDrop(object sender, DragEventArgs e)
{

    if (e.Data.GetDataPresent(DataFormats.FileDrop))
    {
        var files = (string[])e.Data.GetData(DataFormats.FileDrop);
        foreach (var filePath in files)
        {
            MessageBox.Show(filePath);
        }
    }

}

private void gridOperations_DragEnter(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
        e.Effect = DragDropEffects.All;
    else
        e.Effect = DragDropEffects.None;
}
但当我试图将文件拖到
数据网格中时,它会给我一个“停止”光标。我做错了什么

是否可能,因为它绑定到列表


基本上,我需要的是从拖入datagrid的文件中获取文件名,并确定其拖入哪个单元格。

是否启用了网格和所有父控件


您的代码是正确的,并且可以正常工作。我唯一能想到的是您的GridView可能未启用。您可以在应用程序运行时单击更改网格的当前行吗?

只是确认一下,但您可以在
DataGridView
上设置
AllowDrop
,对吗?我这样做是因为父窗体也允许拖放。我也遇到过类似的问题,在我的例子中,我没有将AllowDrop设置为true。@Kristian如果您希望社区帮助您,您应该提供有关您的问题的更多信息。我也遇到了同样的问题,datagridview上的AllowDrop是true,但是我的datagridview绑定源链接到一个dataset表。这会产生一些问题,如清除行错误和。。。