winform(c#)XX正由另一进程使用,因此该进程无法访问此文件.

winform先有picturebox1.imagelocation="c:\aaa.pic";然后要删除该图片,设置picturebox1.imagelocation=... winform
先有picturebox1.imagelocation="c:\aaa.pic";

然后要删除该图片,设置picturebox1.imagelocation=“”;然后执行File.Delete("c:\aaa,pic");报错,提示 c:aaa,pic正由另一进程使用,因此该进程无法访问此文件.
请问该怎么使c:\aaa.pic与程序彻底断开联系??让我删除(程序不能退出)。
展开
 我来答
Online_Ghost
2014-09-05 · TA获得超过682个赞
知道小有建树答主
回答量:395
采纳率:33%
帮助的人:157万
展开全部

 设置picturebox图片的时候像这样  就不会占用文件了。

            FileStream fs = new FileStream("c:\aaa.pic", FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();
            MemoryStream ms = new MemoryStream(bytes);
            Bitmap img = new Bitmap(ms);
            pictureBox1.Image = img;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
awake2703
推荐于2017-12-15 · 超过29用户采纳过TA的回答
知道答主
回答量:127
采纳率:100%
帮助的人:65.9万
展开全部
public Form1()
{
InitializeComponent();
pictureBox1.ImageLocation = @"C:\Users\Administrator\Desktop\截图.png";
}

private void button1_Click(object sender, EventArgs e)
{
pictureBox1.ImageLocation = "";
File.Delete(@"C:\Users\Administrator\Desktop\截图.png");
}
我试过了,这个不报错,你看看是不是其他地方在使用这个文件!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e2dbec6
2014-09-05 · TA获得超过273个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:255万
展开全部
我刚刚测试过,占用不是picturebox1.imagelocation="c:\aaa.pic";引起的。

估计你其它地方有bitmap 或者image 加载过这张图片,调用Dispose()方法就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式