C#.net拖拽实现获得文件路径



C#.net拖拽实现获得文件路径
作者Attilax ,  EMAIL:1466519819@qq.com

思路: 通过DragEnter事件获得被拖入窗口的“信息”(可以是若干文件,一些文字等等),
在DragDrop事件中对“信息”进行解析。


窗体的AllowDrop属性必须设置成true;


且必须有DragEnter事件(单独写DragDrop事件是不会具有拖拽功能的)








   private void Form1_DragEnter(object sender, DragEventArgs e)
 {
              if (e.Data.GetDataPresent(DataFormats.FileDrop))
                  e.Effect = DragDropEffects.Link; //重要代码:表明是链接类型的数据,比如文件路径
               else e.Effect = DragDropEffects.None;
    }


         private void Form1_DragDrop(object sender, DragEventArgs e)
         {
               string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
             MessageBox.Show(path);  
         }






参考:


WinForm的鼠标拖拽功能(C#)
C#中的拖放操作 - fumingkui@126的日志 - 网易博客.htm
winform(C#)拖拽实现获得文件路径_.NET教程网——简单专业的.NET技术网站.htm
原文地址:https://www.cnblogs.com/attilax/p/15199686.html