将文件夹从Windows资源管理器拖放到C#列表框//拖放文件到列表框elsee.Effect=DragDropEffects.None;}privatevoidlistBox1_DragDrop(objectsender,DragEventArgse){string[]files=(string[])e.Data.GetData(DataFormats.FileDrop,false);foreach(文件中的字符串文件名){listBox1.Items.Add(文件名);如果我将文件夹拖到列表框,该文件夹内的所有文件都将添加到列表框项。如果有人可以为我提供上述任务的代码片段,那将对我非常有帮助。提前致谢。您的DragEnter代码仍然适用于文件夹。在DragDrop事件中,您以相同的方式检索文件路径和文件夹路径。如果您拖动文件和文件夹的组合,它们将全部显示在文件数组中。您只需要确定路径是否为文件夹即可。以下代码将从所有已删除文件夹的根目录中检索所有文件的所有路径,并删除文件的所有路径。privatevoidlistBox1_DragDrop(objectsender,DragEventArgse){列表文件路径=newList();foreach(varsin(string[])e.Data.GetData(DataFormats.FileDrop,false)){if(Directory.Exists(s)){//从文件夹添加文件filepaths.AddRange(Directory.GetFiles(s));}else{//添加文件路径filepaths.Add(s);}}}请注意,只有丢弃的文件夹根目录才会被收集到.如果需要获取文件夹树中的所有文件,则需要进行一些递归以收集所有文件。如果fileName是一个目录,你可以创建一个DirectoryInfo对象并遍历所有文件(和子目录)你可以看看这段代码:http://weblogs.asp.net/israelio/archive/2004/06/23/162913.aspx(不需要使用DirectoryInfo对象,也可以使用Directory类中的静态方法,用到,需要多了解C#学习教程,希望大家多多关注——本文收集自网络,不代表立场,如涉及侵权,请点右联系管理员删除,如需转载请注明出处:
