如何在.NET中使用新的Progress Control(如Windows文件传输中所示)?

时间:2013-07-23 14:12:10

标签: c# windows windows-8

Windows具有出色的控件,可显示进度和进度。它显示在文件副本,删除等的“更多详细信息”视图中。例如:

Form with Progress Control on it

我不想要文件复制对话框。我希望控件在其中,用于文件复制以外的目的。例如,视频编码进度。

是否可以使用此控件?我似乎无法在任何地方找到它,我的搜索因不知道究竟是什么叫它而感到沮丧!我的最终目的地将在C#/。NET。

2 个答案:

答案 0 :(得分:4)

答案很可能,但你可能不想使用那种确切的控制。原因在于它是一个操作系统控制,因此可以在没有警告的情况下进行更改。如果他们愿意,微软可以在下周修补它(他们不太可能,但仍然)。你可能想环顾四周,看看是否有人在销售这样的控件。

另一种方法是使用COM触发shell为您执行复制,虽然支持 ,但不会被修补。它还具有版本无关的好处。

更新

OP明确表示他正在寻找控件的进度部分而不是文件副本。因此,我通过COM使用shell的建议无效。最好的选择是购买这样的控制......或者最糟糕的情况是自己动手。

答案 1 :(得分:3)

您可以使用Microsoft.VisualBasic.Devices.Computer类。

using Microsoft.VisualBasic.Devices;

Computer comp = new Computer();
comp.FileSystem.CopyFile(sourceFileName, destinationFileName, UIOption.AllDialogs, UICancelOption.DoNothing);

您需要添加对Microsoft.VisualBasic的引用。