.NET:我如何使用Windows“复制文件”对话框复制文件?我需要批量复制多个文件。是否存在任何.NET 2.0库/方法,可以在不调用Windows平台特定库的情况下以跨平台方式进行操作。
提前致谢。
.NET:我如何使用Windows“复制文件”对话框复制文件?我需要批量复制多个文件。是否存在任何.NET 2.0库/方法,可以在不调用Windows平台特定库的情况下以跨平台方式进行操作。
提前致谢。
SHFileOperation,它在标准的.NET框架中得到了很好的支持。 添加对Microsoft.VisualBasic.dll的引用并使用Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory()方法。 提供了几个重载来控制UI的外观以及如何处理错误。
搜索 IProgressDialog - 这是一个接口,为您提供所需的功能
也许你可以在Windows API Code Pack中找到所需的功能。
如果其他方法都失败了,那么可以采用不太美观的方式:创建一个不可见的Windows资源管理器窗口,并操纵它来启动复制过程。
在.NET中,您可以制作自己的对话框。
这并不一定是一个困难的任务:
如果您拥有VS2005,则需要解压缩位于64位系统上的C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary
或32位系统上的C:\Program Files\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary
的VS2005ImageLibrary.zip
。
解压缩zip文件后,将会有几个文件复制对话框动画的动态GIF。其中还包括.AVI格式的文件。
选择一个动画GIF。
创建一个带有图片框的对话框。将GIF分配给图片框的image
属性。
在动画下面添加一个标签以指定正在复制的文件。
使用线程驱动文件复制操作,并根据需要更新对话框。