情况是这样的我在1个界面上有十几个PrictureBox加载图片,有3张图片根据业务要求切换显示。
写了一个统一的图片加载的方法
一种方案是prictureBox用:
bitmap bmp=bitmap.fromfile(".....");
bitmap bmp2=bitmap.clone() as bitmap;
bmp.dispose();
picturebox.image=new bitmap(bmp2)
结果报对象正在其他地方使用。
另一种方案是
private delegate void UpdateUI();
private void fun()
{
if (this.pictureBox1.InvokeRequired)
{ UpdateUI update = delegate {this.pictureBox1.Image =null;
this.pictureBox1.Image = img; };
this.pictureBox1.Invoke(update);
}
else
{
this.pictureBox1.Image = img;
} }
结果报内存不足以及少量的对象正在其他地方使用,不知道各位兄弟有没其他成熟的方法来解决
还有一种:
就是混合他们来写结果还是报以上种错
写了一个统一的图片加载的方法
一种方案是prictureBox用:
bitmap bmp=bitmap.fromfile(".....");
bitmap bmp2=bitmap.clone() as bitmap;
bmp.dispose();
picturebox.image=new bitmap(bmp2)
结果报对象正在其他地方使用。
另一种方案是
private delegate void UpdateUI();
private void fun()
{
if (this.pictureBox1.InvokeRequired)
{ UpdateUI update = delegate {this.pictureBox1.Image =null;
this.pictureBox1.Image = img; };
this.pictureBox1.Invoke(update);
}
else
{
this.pictureBox1.Image = img;
} }
结果报内存不足以及少量的对象正在其他地方使用,不知道各位兄弟有没其他成熟的方法来解决
还有一种:
就是混合他们来写结果还是报以上种错
bitmap bmp=bitmap.fromfile(".....");
bitmap bmp2=bitmap.clone() as bitmap;
bmp.dispose();
picturebox.image=new bitmap(bmp2)
真心看不懂你代码什么意思