在 C# 中完全加载到 pictureBox 中后以编程方式删除图像

Delete an image programmatically after loaded in pictureBox completely in C#

我在图片文件夹中有一个名为 image1.jpg 的图像文件。此图像文件受 zip 保护,密码为 1234。我需要将此图像加载到我的 C# winform 应用程序;所以我必须解压缩这个图像,加载它,然后再次删除 image1.jpg。我的问题是我的 C# 应用程序即使在加载图像后删除它也不会显示图像。如果我像你看到的那样删除 "File.Delete(...." 行,它会显示图像并且没有问题。

//Unzip a zip file protected and overwrite if needed
using (ZipFile zip = ZipFile.Read(Directory.GetCurrentDirectory().ToString() + "\Pictures" + "\image1.zip"))
{
    zip.Password = "1234";
    zip.ExtractAll(Directory.GetCurrentDirectory().ToString() + "\Pictures\", Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite);
}



pictureBox1.ImageLocation = Directory.GetCurrentDirectory().ToString() + "\Pictures" + "\image1.jpg";


File.Delete(Directory.GetCurrentDirectory().ToString() + "\Pictures" + "\image1.jpg");
var imagePath = Directory.GetCurrentDirectory().ToString() + "\Pictures" + "\image1.jpg;
pictureBox1.LoadCompleted += (s, e) => File.Delete(imagePath);
pictureBox1.ImageLocation = imagePath;