Image.FromFile 之后无法删除这个文件
 
pictrue图片是从文件加载的,现在想换张图片,更改之前要删除原有的文件,在删除原有的文件出现了异常

        string path = @"C:\Users\Administrator\source\repos\MemoryCardLite\MemoryCardLite\bin\x86\Debug\images\a.jpg";
private void Form1_Load(object sender, EventArgs e)
{ //加载
pictureBox1.Image = Image.FromFile(path);
} private void button2_Click(object sender, EventArgs e)
{ //删除
File.Delete(path);
}

解决办法
使用 Stream

Stream s = File.Open(path, FileMode.Open);
pictureBox1.Image = Image.FromStream(s);
s.Close();
string filename = @"C:\Users\Administrator\source\repos\MemoryCardLite\MemoryCardLite\bin\x86\Debug\images\a.jpg";
private void button2_Click(object sender, EventArgs e)
{ //删除
File.Delete(filename); //再加载图片
filename = @"C:\Users\Administrator\source\repos\MemoryCardLite\MemoryCardLite\bin\x86\Debug\images\b.jpg";
pictureBox1.Image = LoadImage(ofd.FileName);
} public Image LoadImage(string path)
{
Image img = null;
if (File.Exists(path))
{ //加载
Stream s = File.Open(path, FileMode.Open);
img = Image.FromStream(s);
s.Close();
}
return img;
} private void Form1_Load(object sender, EventArgs e)
{
LoadImage(filename);
}

2019年12月8日 19:13:03

Image.FromFile 之后无法删除这个文件的更多相关文章

  1. Android创建或删除了文件,在电脑端查看的时候,却没有对应的变化,处理办法

    在Android应用中,碰到一个问题,在代码中执行创建或者删除某个文件后,在系统的文件管理器中能够相应地看到文件的变化,但是插在电脑上查看的时候,却看不到改文件的变化.同时,当创建文件后,在系统中的某 ...

  2. int.TryParse非预期执行引发的思考 ASP.NET -- WebForm -- 给图片添加水印标记 Windows -- 使用批处理文件.bat删除旧文件

    int.TryParse非预期执行引发的思考   问题出现 这天在写一个页面,想谨慎些就用了int.TryParse,结果出问题了. 代码如下: Copy int id = 1000; //Reque ...

  3. Windows下删除.svn文件夹的最简易方法

    建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为reg),内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCA ...

  4. bat 延时删除指定文件夹中的文件经验分享

    1.bat延时 xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行. win7中通过timeout 20 来实现延时20秒. 2.删除指定文件 del /q ...

  5. Linux rm删除大批量文件

    在使用rm删除大批量文件时,有可能会遭遇"参数列太长"(Argument list too long)的问题.如下所示 [oracle@DB-Server bdump]$ rm - ...

  6. Win7如何删除需要管理员权限才能删除的文件夹

    在Windows 7系统运行中.往往会遇到想要删除某个文件夹时,系统提示:文件夹访问被拒绝 你需要权限来执行此操作,如何才能删除此类文件夹呢? ------------------ --------- ...

  7. PHP批量清空删除指定文件夹内容

    PHP批量清空删除指定文件夹内容: cleancache.php <?php // 清文件缓存 $dirs = array( realpath(dirname(__FILE__) . '/../ ...

  8. gulp使用技巧-删除node_modules文件夹,解决目录层次太深删除报错的问题

    问题描述: 在使用gulp当中,自动生成的node_modules文件夹,因为文件目录层级太深,无法系统删除,用360粉碎工具也报错 解决方法: 使用npm中的插件rimraf,专门用于删除的模块插件 ...

  9. SQLServer2005删除log文件和清空日志的方案

    数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日 ...

随机推荐

  1. 关于阿里 iconfont 的使用步骤

    第一步: 在iconfont库中,找到你想要的图标,加入到购物车,再在购物车中将图标加入到你的项目中去    第二步: 在项目中,可以看到刚刚加入的图标,这里是你在项目中所有用到的iconfont,选 ...

  2. php ajax生成excel并下载

    目标:使用php,通过ajax请求的方式生成一个excel,然后下载. 思路:大致思路是发送一个ajax请求到后台,后台php处理后生成一个excel文件,然后把生成的文件放到一个临时目录,然后把文件 ...

  3. curl-手册

    Manual -- curl usage explained Related: Man Page FAQ LATEST VERSION   You always find news about wha ...

  4. pom中添加插件打包上传源码

    <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...

  5. 使用Cloudera Manager搭建Hive服务

      使用Cloudera Manager搭建Hive服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装Hive环境 1>.进入CM服务安装向导 2>.选择需要 ...

  6. 在DEV c++ 中如何设置默认的代码模板

    /*菜单,工具=>编辑器选项(弹出对话框)=>代码(属性页)=>缺省源(属性页),写入一些代码确定即可(勾选“向项目初始源文件插入代码”).版本是5.11,中文版 */ #inclu ...

  7. 请解释下在单线程模型中Message、Handler、MessageQueue、Looper之间的关系

    对于面试,每个职场人士都经历过,面试官更看中你对于技术的理解是否透彻,需要知其所以然,而实际工作中看中的工作效率,都是在使用API的角度来完成任务,当在一家公司呆久了有跳槽的想法时,个人的亲身经历就是 ...

  8. Spring4- 01 - Spring框架简介及官方压缩包目录介绍- Spring IoC 的概念 - Spring hello world环境搭建

    一. Spring 框架简介及官方压缩包目录介绍 主要发明者:Rod Johnson 轮子理论推崇者: 2.1 轮子理论:不用重复发明轮子. 2.2 IT 行业:直接使用写好的代码. Spring 框 ...

  9. [转]Serverless实践

    转载的,原文: https://www.cnblogs.com/middleware/p/9470533.html ------------------------------------------ ...

  10. Machine learning system design---Error analysis

    Error analysis--让我们系统的去判断我们接下来要做什么,而不是随机的,凭直觉地选择一个去做 我们在设计机器学习应用时,刚开始使用简单(简单的features)的算法来很快的完成它,它可能 ...