.net - 在 vb.net 应用程序中打开图像后无法删除图像

标签 .net vb.net image dispose

我有这个代码:

Dim xx as image
xx = image.fromfile(Fileloc)
picturebox.image = xx

即使我已将其加载到图片框中,我也无法删除该文件。如果我添加这一行:
xx.dispose

图片框变成一个大的红色 X。

我只想在我的应用程序关闭时删除图像(它们是临时文件)。那么我应该在删除它们之前处理它们吗?

最佳答案

不要使用 Image.FromFile ,它使文件保持打开状态。

From MSDN :

The file remains locked until the Image is disposed.



这样做:
Dim xx as Image
Using str As Stream = File.OpenRead(Fileloc)
    xx = Image.FromStream(str)
End Using
picturebox.Image = xx

加载图像后文件将关闭,因此您可以根据需要删除该文件

关于.net - 在 vb.net 应用程序中打开图像后无法删除图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2079428/

相关文章:

vb.net - VB.NET-从“表单加载”事件导航时,Web浏览器卡住

java - Android 中使用边缘检测进行图像透视裁剪

c# - 获取整数的第七位

.Net smtp 使用 SmtpStatusCode 发送 - 什么时候应该重试?

c# - 检测音频是否已停止播放

c# - Java 设计器脚本项目在 VB6 到 C# 转换中的作用是什么?

c# - 在 C# 中使用 IEnumerator

.net - NET有DBM吗?

Android 如何使用 Intent 发送文本和图像或任何对象?

python - 使用 Python 和 Raspberry Pi 快速捕获和将 2D 图像堆叠为 3D numpy 数组