[C#] Image.FromFile()はファイルをロックするので要注意

画像ファイルをロードしてImageオブジェクトを作成するために以下のようなコードを書いた。

すると問題が。ロード完了しても画像ファイルを削除することができないのだ。どうやらファイルがロック(占有)されているみたい。

ネットを調べても「これだ」といった情報はなかなか見つからず。しばらく探したら参考サイトの記事がヒットした。Image.FromFile()メソッドの仕様ということなのかなぁ。

回避するには、以下のようにファイルストリームから読み取るなどして、Image.FromFile()メソッドを使わないこと。

参考サイト

表示中の画像ファイルが削除できない問題の解決法 – .NET Tips (VB.NET,C#…)
https://dobon.net/vb/dotnet/graphics/drawpicture2.html