DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

表示中の画像ファイルが削除できない問題の解決法

ピクチャボックスに簡単に画像を表示する」や「画像ファイルを表示する」で紹介したように画像ファイルを表示した時は、その画像ファイルがロックされてしまい、削除する事が出来なくなります(ファイル名の変更や、ファイルの上書き保存もできません)。この問題の回避法は「マイクロソフト サポート技術情報 - 309482」にある通り、FileStreamオブジェクトを使用することです。

VB.NET
コードを隠すコードを選択
Dim fs As System.IO.FileStream
fs = New System.IO.FileStream("C:\Blue hills.jpg", _
    IO.FileMode.Open, IO.FileAccess.Read)
PictureBox1.Image = System.Drawing.Image.FromStream(fs)
fs.Close()
C#
コードを隠すコードを選択
System.IO.FileStream fs;
fs = new System.IO.FileStream(@"C:\Blue hills.jpg",
    System.IO.FileMode.Open, System.IO.FileAccess.Read);
PictureBox1.Image = System.Drawing.Image.FromStream(fs);
fs.Close();

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • このサイトで紹介されているコードの多くは、例外処理が省略されています。例外処理については、こちらをご覧ください。
  • Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。