程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#窗體實現文件拖拽功能

C#窗體實現文件拖拽功能

編輯:C#入門知識

1、首先要把你的窗體或者空間的AllowDrag屬性設置為允許       2、注冊DragEnter事件 3、獲得文件路徑,先通過e.Data.GetFormats()方法獲得所有數據格式 4、調用e.GetData()方法根據指定的數據格式獲得文件路徑 5、有了文件路徑,相信一切問題迎刃而解  下面是例子: [csharp]   private void textBox1_DragEnter(object sender, DragEventArgs e)           {               //獲得數據格式               File.WriteAllLines("C:\\1.text", e.Data.GetFormats());                                            //獲得文件名               string[] filename = (string[])e.Data.GetData("FileNameW",true);               textBox1.Text = filename[0];                  string entesion = Path.GetFileName(textBox1.Text);                  if (!File.Exists(textBox1.Text.Trim())) { return; }               //讀取文件流               using (FileStream fsOpen = File.OpenRead(textBox1.Text.Trim()))               {                   using (FileStream fs = new FileStream("C:\\" + entesion, FileMode.Create, FileAccess.Write))                   {                       byte[] buffer = new byte[1024 * 1024];                       while (true)                       {                           int result = fsOpen.Read(buffer, 0, buffer.Length);                           if (result <= 0)                           {                               break;                           }                           else                           {                               fs.Write(buffer, 0, result);                           }                       }                       fs.Flush();                   }               }              }   運行結果:   補充一點: 在win7下可能是因為權限不均衡不觸發DragDrop事件,所以我在裡只用到DragEnter事件,你們可以試下DragDrop事件,可能用戶體驗要好點!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved