簡體   English   中英

如何在C#中將文件夾/文件從一個Windows資源管理器拖放到另一個Windows資源管理器?

[英]How to drag and drop folders/files from One Windows Explorer to another windows explorer in C#?

嗨,

如何在C#中將文件夾/文件從一個Windows資源管理器拖放到另一個Windows資源管理器? 在內部,當我從一個瀏覽器拖放到另一個上傳時,我正在使用FTP
我的要求就像我必須將文件,文件夾...拖放到Windows資源管理器中的FTP文件夾一樣?

任何代碼段...

當您想成為放置目標時 ,您需要在表單上啟用放置:

AllowDrop = true;

那時,您需要連接一些事件處理程序:

  • ItemDrag
  • 拖曳
  • 拖動輸入
  • 拖曳離開
  • 拖放

因此,如果您有一個列表框並想要列出刪除的文件,則類似於:

private void listBox1_DragDrop(object sender, DragEventArgs e)
{
   foreach (string fileName in (string[])e.Data.GetData(DataFormats.FileDrop) )
   {
       listBox1.Items.Add( fileName );
   }
}

要成為Drop Source ,要多做一些工作,如果您實際擁有一個實際文件名(請參見MSDN鏈接),則效果最好。請參閱完整的系列文章,其中描述了.NET中Shell Style Drag and Drop的所有技巧提供了完整的庫供您使用。

一些來源:

如果文件已經存在,則可以執行以下操作: DoDragDrop

如果文件不存在,那么該怎么做: 在C#中將虛擬文件傳輸到Windows資源管理器

當用戶手動移動項目時,此代碼段幾乎可以從“項目”(只需替換“ test.txt”字符串)拖動到任何資源管理器窗口(包括ftp)。

private void Form1_MouseDown(object sender, MouseEventArgs e) { 
   string[] files = new string[] { @"c:\temp\test.txt" };
   this.DoDragDrop(new DataObject(DataFormats.FileDrop, files), DragDropEffects.Copy); 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM