我正在开发一个C#程序,该程序将允许用户输入多个公司,并且试图允许用户为每个公司使用图标(以及任务栏中的公司名称),以帮助他们在不同公司之间轻松地区别对待。他们。
到目前为止,我有以下代码,其中显示图标的图片框以确认它是正确的图像,但是当我运行该程序时,将图像更改3或4次后它崩溃并出现内存不足异常。阅读本网站上类似问题的解决方案后,我尝试处置该图像,但似乎无法使其正常工作:
private void btnBrowse_Click(object sender, EventArgs e)
{
openFileDialog1.InitialDirectory = "R:\\rightsort fulfilment\\charity icons";
openFileDialog1.Title = "Choose an Icon";
openFileDialog1.FileName = "";
openFileDialog1.Filter = "Icon Files|*.ico";
if (openFileDialog1.ShowDialog() != DialogResult.Cancel)
{
txtIcon.Text = openFileDialog1.FileName;
pictureBox1.Image = Image.FromFile(txtIcon.Text);
pictureBox1.Visible = true;
}
else
{
txtIcon.Text = "";
pictureBox1.Visible = false;
}
}
任何帮助将不胜感激!
最佳答案
从IDisposable继承的图像类。每次用新映像替换它时,都需要调用Dispose方法以释放资源。
但是我不知道这是否是您的问题的根源。您还可以尝试运行内存探查器,并查看在何处以及如何分配内存。