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与程序彻底断开联系??让我删除(程序不能退出)。 展开
先有picturebox1.imagelocation="c:\aaa.pic";
然后要删除该图片,设置picturebox1.imagelocation=“”;然后执行File.Delete("c:\aaa,pic");报错,提示 c:aaa,pic正由另一进程使用,因此该进程无法访问此文件.
请问该怎么使c:\aaa.pic与程序彻底断开联系??让我删除(程序不能退出)。 展开
3个回答
展开全部
设置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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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");
}
我试过了,这个不报错,你看看是不是其他地方在使用这个文件!
{
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");
}
我试过了,这个不报错,你看看是不是其他地方在使用这个文件!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我刚刚测试过,占用不是picturebox1.imagelocation="c:\aaa.pic";引起的。
估计你其它地方有bitmap 或者image 加载过这张图片,调用Dispose()方法就行了
估计你其它地方有bitmap 或者image 加载过这张图片,调用Dispose()方法就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询