2017-07-18 2 views
0

J'utilise actuellement une boîte de dialogue de fichier pour exporter un fichier, mais je me demandais comment exporter mon fichier par glisser-déposer. Je ne pouvais pas comprendre comment obtenir le chemin du fichier où l'élément est abandonné. Voici le code que j'ai utilisé pour le dialogue de fichier ouvert au cas où c'est nécessaire.Comment utiliser le glisser-déposer pour exporter un fichier (C#)

if (this.listView1.SelectedItems.Count > 0) 
{ 
    ListViewItem item = this.listView1.SelectedItems[0]; 
    string text = this.faderLabel8.Text; 
    if (!text.EndsWith(@"\")) 
    { 
     text = text + @"\"; 
    } 

    using (SaveFileDialog dialog = new SaveFileDialog()) 
    { 
     if (dialog.ShowDialog() == DialogResult.OK) 
     { 
      Jtag.ReceiveFile(item.SubItems[0].Text, text + item.SubItems[0].Text); 
     } 
    } 
} 

Répondre

0

Vous n'avez pas besoin du chemin d'accès au fichier. Au lieu de cela, vous devez créer un fichier temporaire.

  1. Enregistrer le fichier dans un dossier temporaire
  2. Initié glisser sur un événement/commande, comme la souris vers le bas, de la manière suivante:
//(This example is uses WPF/System.Windows.DragDrop) 
//Create temporary file 
string fileName = "DragDropSample.txt"; 
var tempPath = System.IO.Path.GetTempPath(); 
var tempFilePath = System.IO.Path.Combine(tempPath, fileName); 
System.IO.File.WriteAllText(tempFilePath, "Testing drag and drop"); 
//Create DataObject to drag 
DataObject dragData = new DataObject(); 
dragData.SetData(DataFormats.FileDrop, new string[] { tempFilePath }); 
//Initiate drag/drop 
DragDrop.DoDragDrop(dragSourceElement, dragData, DragDropEffects.Move); 

Pour WinForms exemple et plus de détails: Implement file dragging to the desktop from a .net winforms application?

+0

merci cela a fonctionné – RunFTL

0

Si vous voulez qu'il soit utile par « glisser-déposer » vous auriez besoin une sorte d'interface graphique qui affiche les fichiers dans un conteneur où ils sont et puis un autre conteneur à l'endroit où vous voulez les déplacer. Lorsque vous mettez en surbrillance un élément avec votre souris, vous les ajoutez à votre ItemList et lorsque vous les déposez, vous les copiez. Assurez-vous simplement que la liste est vidée une fois dans le cas où vous supprimez la surbrillance.