WPF图片浏览器之删除图像功能(彻底删除和删除到回收站)
来源:互联网 发布:网络延时1000 编辑:程序博客网 时间:2024/05/30 05:42
用WPF做了一个图片查看器。初始化程序后,通过一个Listbox 将指定文件夹的Image加入界面上,并可以对加载的图片进行一系列的操作。比如删除操作。
之前在文章http://blog.csdn.net/wangshubo1989/article/details/46560375中讲过,如何解决Image控件的BitmapImage资源占用问题。解决了该问题,就可以对加载到界面上的图像进行删除操作。
C#自带的删除操作为:
File.Delete方法, 命名空间为System.IO 函数原型如下:
public static void Delete(string path), 其中path为要删除的文件的名称。
所以可以使用:
File.Delete("D:\\123.PNG"); // 删除D盘中的名为123的图片
但是问题来了,我们进入电脑回收站并未找到名为123.png的图片,说明 File.Delete方法将指定路径的文件彻底删除了,即shift+delete操作
如果我们需要重新使用被删除的文件呢,这就需要设法把文件删除到回收站。
但是C#中没有这样的函数,但是VB中有这样的函数,故可以通过借助VB中的函数,将文件删除到回收站。
首先,对项目添加名为Microsoft.VisualBasic.dll的引用
其次,添加命名空间, using Microsoft.VisualBasic.FileIO
这样就可以使用VB中的 FileSystem.DeleteFile方法:
DeleteFile的重载列表如下:
DeleteFile(String)
DeleteFile(String, UIOption, RecycleOption)
DeleteFile(String, UIOption, RecycleOption, UICancelOption)
因此我们可以通过设置RecycleOption 来确定删除的文件是否发送到“回收站”,
RecycleOption 枚举如下:
public enum RecycleOption 成员DeletePermanently 表示永久删除 ;成员SendToRecycleBin表示送至“回收站”;
因此代码如下:
FileSystem.DeleteFile("D:\\123.png", UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
将D盘的123.png图像删除到回收站。
- WPF图片浏览器之删除图像功能(彻底删除和删除到回收站)
- Oracle 回收站功能,彻底删除表
- Oracle 回收站功能,彻底删除表
- Oracle回收站功能,彻底删除表
- Oracle 回收站功能,彻底删除表(purge recyclebin)
- Oracle 回收站功能,彻底删除表(purge recyclebin)
- 删除到回收站
- 删除文件到回收站
- DelTree(删除到回收站)
- 删除文件到回收站
- 删除文件到回收站
- 删除文件到回收站
- 删除文件到回收站时显示和去掉“确认是否删除到回收站”的提示框
- 删除文件到回收站中
- Python删除文件到回收站
- 删除文件到回收站中
- VC 删除文件到回收站
- linux 删除文件到回收站
- javascript数组方法部分举例(push()/pop()/unshift()/shift()/reverse()/splice()/concat()/join())
- -eq 和=区别
- 算法练习:排列组合之组合和
- xcode6错误提醒:Failed to code sign "某某Tests".
- Log4j使用详解
- WPF图片浏览器之删除图像功能(彻底删除和删除到回收站)
- [android]DES/3DES/AES加密方式
- 《NoSQL精粹》摘要2-聚合数据模型
- 检测错误权衡图(Detection error tradeoff(DET))
- [RabbitMQ+Python入门经典] 兔子和兔子窝
- 大数据:互联网大规模数据挖掘与分布式处理
- 【Android】DetachCurrentThread没调用出现的崩溃堆栈
- 中国大学MOOC-陈越、何钦铭-数据结构基础习题——总结
- 获取request中的参数,以Map的形式返回