DOBON.NET どぼん!のVB道掲示板(プログラム)過去ログ

PictureBox にファイルからイメージを表示しつつファイルの削除

はじめまして。
質問させて頂きます。

VB.NETにて以下のようにPictureBoxにファイルからイメージの表示を行い、
表示をさせたまま、ファイル自体を削除することはできないのでしょうか?

PicBox.Image = Image.FromFile("C:\Temp\ABC.jpg")

ようはVB.NET のアプリでABC.jpgをファイルから表示しつつ、別のアプリ(エクスプローラ等)でABC.jpgファイル自体を削除したいのです。

どうもPictureBoxに読み込んだ時点でファイルが使用中になってしまい、削
除しようとすると、「ABC を削除できません。ほかの人またはプログラムによ
って使用されています。ファイルを使用している可能性があるプログラムをす
べて閉じてから、やり直して下さい。」のエラーが表示されます。

なにかよい方法あれば、教えていただきたいのですが宜しくお願いいたします。

# 乱筆・乱文をお許し下さい。
こんにちは。

>VB.NETにて以下のようにPictureBoxにファイルからイメージの表示を行い、
>表示をさせたまま、ファイル自体を削除することはできないのでしょうか?
>
>PicBox.Image = Image.FromFile("C:\Temp\ABC.jpg")

いろいろ調べてみましたが、この方法では無理のようです。FileStreamを使うことにより可能となるようです。詳しくは下記URLをご覧ください。

http://support.microsoft.com/default.aspx?scid=kb;ja;JP311754
早速の回答ありがとうございます。。

>いろいろ調べてみましたが、この方法では無理のようです。FileStreamを使うことにより可能となるようです。詳しくは下記URLをご覧ください。
>
>http://support.microsoft.com/default.aspx?scid=kb;ja;JP311754

上記URL確認してみました。仕様だったのですね。。
試してみたところ、うまくいきました。本当にありがとうございます。

# 本家MSのサイトにあったとは。。調査不足ですいません。
# Stream って何だろ?って思ってましたw
># 本家MSのサイトにあったとは。。調査不足ですいません。

私もいろいろ探してようやく見つけたという感じで、まさかMSのサイトにあるとは思いませんでした。でも、MSのサイトにあると分かって探したとしても見つけるのは結構大変ですよね。

DOBON.NET | プログラミング道 | プログラミング掲示板