PictureBoxであるイメージファイルを表示したままそのファイルを消す場合の方法です。通常ファイル名を指定して Bitmap オブジェクトを作成し、Pictureboxにセットした後、File.Delete(パス) で消しますが、こうすると例外発生します。
なぜなら Bitmap をファイルから作成した場合、その Bitmap オブジェクトが解放されるまでイメージファイルをロックするからです。
ということで、下記のコードでは読み込み専用のオブジェクトを使って読み込み、Picturebox表示用イメージを作成後、読み込み専用オブジェクトを破棄(Discope)します。破棄した時点でファイル操作(削除とか)が可能になります。
Imports System.IO Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try '読み込みだけに使う一時イメージオブジェクト(読み込み専用オブジェクト) Dim bufBmp As New Bitmap("C:\test.jpg") 'Pictureboxに表示するイメージオブジェクト作成 Dim bmp As New Bitmap(bufBmp) '読み込み一時用イメージオブジェクト解放(解放した時点でファイルのロックが解放される) bufBmp.Dispose() Me.PictureBox1.Image = bmp Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try File.Delete("C:\test.jpg") Catch ex As Exception MsgBox(ex.Message) End Try End Sub End Class