1. 程式人生 > >C# 中 PictureBox 載入圖片後無法刪除解決方法

C# 中 PictureBox 載入圖片後無法刪除解決方法

//顯示圖片
private void button1_Click(object sender, EventArgs e)
{
    pictureBox1.Image = GetFile(@"f:\demo.gif");
}

//不顯示並釋放資源
private void button2_Click(object sender, EventArgs e)
{
    Image image = pictureBox1.Image;
    pictureBox1.Image = null;
    image.Dispose();
}

///
/// 將檔案轉為記憶體流
///
/// 
/// 
private MemoryStream ReadFile(string path)
{
    if (!File.Exists(path))
        return null;

    using (FileStream file = new FileStream(path, FileMode.Open))
    {
        byte[] b = new byte[file.Length];
        file.Read(b, 0, b.Length);

        MemoryStream stream = new MemoryStream(b);
        return stream;
    }
}

///
/// 將記憶體流轉為圖片
///
/// 
/// 
private Image GetFile(string path)
{
    MemoryStream stream = ReadFile(path);
    return stream == null ? null : Image.FromStream(stream);
}