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

C# WinForm 檔案拖放實作(二):DragEnter 判斷檔案格式、DragDrop 複製檔案至目前目錄並重新整理清單

     編輯:關於C語言

DragEnter:判斷並設定效果


private void listViewFolder_DragEnter(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
        e.Effect = DragDropEffects.Copy;
    else
        e.Effect = DragDropEffects.None;
}

DragDrop:複製檔案並重新整理


private void listViewFolder_DragDrop(object sender, DragEventArgs e)
{
    try
    {
        string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
        foreach (string src in files)
        {
            string dest = labelCurFolder.Text + "\\" + Path.GetFileName(src);
            if (File.Exists(dest))
            {
                if (MessageBox.Show($"資料夾已存在同名檔案 {Path.GetFileName(src)},是否取代?",
                    "確認取代", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
                    continue;
            }
            File.Copy(src, dest, true);
        }
        ListFolder(); // 重新載入清單
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

拖入功能核心:DragEnter 確認資料格式並設定視覺回饋;DragDrop 取得檔案路徑、處理同名覆蓋確認、複製檔案、重新整理 ListView。

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