代码之家  ›  专栏  ›  技术社区  ›  Murat Korkmaz

.NET:如何使用Windows“复制文件”对话框复制文件

  •  3
  • Murat Korkmaz  · 技术社区  · 16 年前

    .NET:如何使用Windows“复制文件”对话框复制文件。我需要批量复制多个文件。是否存在任何.NET 2.0库/方法,允许我以跨平台的方式执行此操作,而不调用特定于Windows平台的库。

    提前谢谢。

    6 回复  |  直到 16 年前
        1
  •  1
  •   Nate CSS Guy    16 年前

    要使用“windows‘copy files’dialog”,需要调用“windows平台特定库”。

        2
  •  12
  •   Hans Passant    16 年前

    shfileoperation,标准的.net framework很好地支持它。添加对Microsoft.VisualBasic.dll的引用并使用 Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory() 方法。可以使用多个重载来控制ui的外观以及如何处理错误。

        3
  •  1
  •   Sledge    16 年前

    google for iprogressdialog-这是一个界面,它提供您请求的功能

        4
  •  0
  •   M.A. Hanin    16 年前

    也许你会在 Windows API Code Pack

    如果其他一切都失败了,它可能会以一种丑陋的方式工作:创建一个不可见的windows资源管理器窗口,并对其进行操作以启动复制过程。

        5
  •  0
  •   user113476    16 年前

    在.NET中,您可以创建自己的对话框。

    不过,这并不一定是一项艰巨的任务:

    • 如果您有VS2005,请打开 VS2005ImageLibrary.zip 位于 C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary 在64位系统上或 C:\Program Files\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary 在32位系统上。

    • 一旦你解压了ZIP文件,就会有几个文件复制对话框动画的动画GIF。这些也是.avi格式的。

    • 选择一个动画礼品。

    • 创建一个带有图片框的对话框。将gif指定给图片框的 image 财产。

    • 在动画下方添加标签以指定要复制的文件。

    • 根据需要使用线程更新对话框来驱动文件复制操作。

        6
  •  -3
  •   James Curran    16 年前

    问题是它不是真正的“windows的复制文件”对话框,而是资源管理器的对话框。所以,它必须找到一种以编程方式控制资源管理器的方法。(可以通过COM或WMI)