问题描述
我正在通过 C# 手动复制一些文件夹和文件,并且我想向用户展示实际正在发生的事情.目前,该程序看起来好像它被冻结了,但它实际上是在复制文件.
I am manually copying some folders and files through C#, and I want to show the user that something is actually going on. Currently, the program looks as if its frozen, but it is actually copying files.
我认为已经有一个显示该过程的内置对话框或表单,类似于在 Windows 资源管理器中复制/移动文件.有没有类似的东西,还是我必须从头开始创建所有东西?
I would think there is already a built-in dialog or form that shows the process, similar to copying/moving files in windows explorer. Is there anything like that available, or will I have to create everything from scratch?
另外,这是否是向用户显示某事正在积极进行的最佳方法?
Also, would this be the best method to show the user that something is actively going on?
感谢您的帮助!
推荐答案
Microsoft.VisualBasic.FileIO 命名空间内置了一个.不要让这个名字吓到你,它是一个非常被低估的 C# 命名空间.静态类 FileSystem
有一个 CopyFile
和 CopyDirectory
方法具有该功能.
There is one built in from the Microsoft.VisualBasic.FileIO Namespace. Don't let the name scare you, it is a very underrated namespace for C#. The static class FileSystem
has a CopyFile
and CopyDirectory
method that has that capability.
密切注意 CopyFile
和 CopyDirectory
方法中的 UIOption
.此显示 Windows 资源管理器复制窗口.
Pay Close attention to the UIOption
in both the CopyFile
and CopyDirectory
methods. This displays the Windows Explorer copy window.
FileSystem.CopyFile(sourceFile, destinationFile, UIOption.AllDialogs);
FileSystem.CopyDirectory(sourceDirectory, destinationDirectory, UIOption.AllDialogs);
这篇关于在 C# 中手动复制文件时显示复制文件对话框/表单?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!