A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如何在C#中实现文件拖放?如何遍历文件夹?

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

2 个回复

倒序浏览
本帖最后由 lvjayj 于 2013-8-12 20:50 编辑

1.在DragEnter 和 DragDrop中处理
首先把AllowDrop 设为true
  1. private void textBox_DragDrop(object sender, DragEventArgs e)
  2.         {
  3.             //创建一个数组类,用于保存拖动进来的数据组,这里是文件名路径的数组
  4.             //e.Data.GetData方法就是获取文件名
  5.             Array aryFiles = ((System.Array)e.Data.GetData(DataFormats.FileDrop));
  6.             for (int i = 0; i < aryFiles.Length; i++)
  7.             {
  8.                 ///通过For循环把所有文件路径加到字符串label4.text里面.
  9.                 label4.Text = aryFiles.GetValue(i).ToString();// +Environment.NewLine;
  10.                
  11.             }

  12.             path = label4.Text;

  13.         }

  14. private void textBox_DragEnter(object sender, DragEventArgs e)
  15.         {
  16.                 ///拖进来时,判断拖动的数据是否是指定数据格式,并设置e.Effect的图标样式.
  17.                 if (e.Data.GetDataPresent(DataFormats.FileDrop))
  18.                 e.Effect = DragDropEffects.Move;
  19.                 else e.Effect = DragDropEffects.None;
  20.         }
复制代码
2.遍历文件夹
例:取文件夹下的所有文件名
  1. string[] files = Directory.GetFiles(path);
复制代码

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
这个楼主真是高级问题,楼下有给力的回答,学习时有想过这个问题,但是没有机会实践一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马