分類:[C#]
いつもお世話になっております。
例えばピクチャーボックスに画像を複数回張ったり消したりする処理で
下記の2パターンを試したところ「1」のケースは期待通りにすぐ開放されましたが
「2」のケースは期待した動きとは異なり、すぐにはリソースが開放されませんでした。
(開放されているかどうかはタスクマネージャのメモリ使用量で
確認しています。)
お手数ですが「1」のケースの様にすぐにリソースを開放する方法が無いか
教えてください。
1.画像を外部から読み込む
if (pictureBox1.Image != null)
{
pictureBox1.Image.Dispose();
pictureBox1.Image = Image.FromFile(Application.StartupPath + "\\Test.bmp");
}
else
{
pictureBox1.Image = Image.FromFile(Application.StartupPath + "\\Test.bmp");
}
2.内部のリソースファイルから読み込む
if (pictureBox1.Image != null)
{
pictureBox1.Image.Dispose();
pictureBox1.Image = Properties.Resources.TestJpg;
}
else
{
pictureBox1.Image = Properties.Resources.TestJpg;
}
以上よろしくお願いします。
|