トップ回答者
Bitmap を削除するには

質問
-
Bitmap map = new Bitmap("C:\\sample.bmp");
でBitmapを作成し、これをPictureBoxのGraphics.DrawImage()を使ってPictureBoxに表示しています。
このようにすると、sample.bmpファイルが開かれたままの状態になってしまいます。
PictureBoxでsample.bmpの中身を確認した後、sample.bmpファイルを削除したいのですが、ファイルが開かれたままになってしまうため削除出来ません。
sample.bmpファイルを閉じる方法が見つからないのですが、何か方法は無いでしょうか。
回答
-
一旦 PictureBox.Image から Image を取得して、PictureBox.Image 自体は null(または他の Image オブジェクト)を設定し、先ほど取得した Image を Dispose します。
ファイル消す時点ではまだ画像を表示していたい、ということなら、File.ReadAllBytes でファイルの中身を一旦メモリにロードし、それを元に MemoryStream を作成し、それを使って Bitmap を作成します。
すべての返信
-
一旦 PictureBox.Image から Image を取得して、PictureBox.Image 自体は null(または他の Image オブジェクト)を設定し、先ほど取得した Image を Dispose します。
ファイル消す時点ではまだ画像を表示していたい、ということなら、File.ReadAllBytes でファイルの中身を一旦メモリにロードし、それを元に MemoryStream を作成し、それを使って Bitmap を作成します。