首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# WinForm 檔案拖放實作(三):ListView ItemDrag 事件建構 FileDrop 資料物件並啟動 DoDragDrop

     編輯:關於C語言

ItemDrag 事件實作


private void listViewFolder_ItemDrag(object sender, ItemDragEventArgs e)
{
    if (e.Button != MouseButtons.Left) return;
    if (listViewFolder.SelectedItems.Count == 0) return;

    string[] files = new string[listViewFolder.SelectedItems.Count];
    int i = 0;
    foreach (ListViewItem item in listViewFolder.SelectedItems)
        files[i++] = item.Tag.ToString(); // Tag 存放完整路徑

    DataObject data = new DataObject(DataFormats.FileDrop, files);
    data.SetData(DataFormats.StringFormat, files[0]); // 兼容文字拖放
    DoDragDrop(data, DragDropEffects.Copy);
}

流程說明

  1. 僅處理左鍵拖曳。
  2. 將選取項目的 Tag(檔案完整路徑)轉為字串陣列。
  3. 建立 DataObject 並指定格式為 FileDrop,支援拖放至總管、桌面等。
  4. 呼叫 DoDragDrop 進入拖放迴圈,效果設為 Copy。

至此拖出功能完整實現。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved