【发布时间】:2016-08-06 10:27:43
【问题描述】:
我正在使用 Dispose 进行研发。我对处理图像资源的表单有疑问。
namespace DisposeTry
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Image mimg = new Bitmap("repository.png"))
image1.Image = mimg;
}
}
}
出于显而易见的原因,我不能使用 mimg.Dispose 或包含在“使用”中。何时以及如何处置此资源。请指教。
【问题讨论】:
-
我不认为你可以明确地做到这一点,但垃圾收集器会处理它。在 .NET 中,当对象超出范围时,它们被分配给 Gabage 收集器,这将自动释放它们的内存。
-
只需添加一个 FormClosed 事件处理程序,调用 image1.Image.Dispose()。