使用带有自定义信息的标准“覆盖”对话框

时间:2013-08-16 18:53:06

标签: c# windows user-interface standard-library

我正在编写一个将文件复制到远程驱动器(例如SkyDrive)的实用程序。当我要覆盖一个文件时,我会弹出一个常规的“文件存在,你想要覆盖Y / N”的消息框;是否可以使用标准的Windows文件覆盖对话框?有三个选项(复制和替换,不复制,复制但保留两者)和更详细的大小/日期信息?或者我应该写我自己的表格来复制它? (说实话,我已经搜索了两天了,编写自己的文章可能要快得多。)

澄清一下:当我选择时,我需要显示该对话框 - 有时我不想显示它,只想覆盖该文件。

如果可能的话,我更喜欢在C#/ .NET中工作;但是,如果只存在非托管解决方案,我也会接受。

1 个答案:

答案 0 :(得分:2)

是的,有可能!我为Send to Dropbox做了一个小插件实用程序,我为Explorer编写了一个右键单击并将文件发送到dropbox文件夹。

SHFileOperation.cs复制到您的项目中,您可以这样调用它:

ShellFileOperation.CopyItems(source, target);

source可以有多个文件/目录。每个项目必须用引号(“)包围。

target是目标目录。

示例:

ShellFileOperation.CopyItems("\"c:\\foo.txt\" \"c:\\bar.txt\"", "d:\\xyz");