2012-12-02 9 views
5

Ich habe folgende DataGrid des Namens gridOperations. Ich habe AllowDrop auf true gesetzt, und verwenden den folgenden Code:DragnDrop-Datei in DataGridView

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; 
} 

aber wenn ich versuche Datei in die DataGrid zu ziehen, es gibt mir die ‚STOP‘ Cursor. Was mache ich falsch?

Ist es möglich, weil es an List gebunden ist?

Im Grunde muss ich den Dateinamen aus der Datei in das Datagrid ziehen und bestimmen, in welche Zelle er hineingezogen wird.

+2

Nur zur Bestätigung, aber Sie 'AllowDrop' auf der' DataGridView', richtig? Ich frage, weil das übergeordnete Formular auch Drag & Drop zulassen kann. –

+0

Ich hatte auch ein ähnliches Problem und in meinem Fall hatte ich AllowDrop nicht auf True gesetzt. – mihirj

+0

@Kristian Wenn Sie möchten, dass die Community Ihnen hilft, sollten Sie weitere Informationen zu Ihrem Problem bereitstellen. –

Antwort

1

Sind Ihr Raster und alle übergeordneten Steuerelemente aktiviert?

Ihr Code ist korrekt und es funktioniert. Das einzige, was mir einfällt, ist, dass Ihr GridView möglicherweise nicht aktiviert ist. Können Sie die aktuelle Zeile des Rasters ändern, indem Sie auf klicken, wenn die Anwendung ausgeführt wird?