string strPath=Application.StartupPath+"\\Picture\\070547.jpg";
private void Form1_Load(object sender, System.EventArgs e)
{
FileStream fs = new FileStream(strPath,FileMode.Open, FileAccess.Read);
Image img = Image.FromStream(fs);
PictureBox1.Image=img;
fs.Close();
}
双击PictureBox1中的图片,把图片显示在PictureBox2中.
private void PictureBox1_DoubleClick(object sender, System.EventArgs e)
{
FileStream fs = new FileStream(strPath,FileMode.Open, FileAccess.Read);
Image img = Image.FromStream( fs );
PictureBox2.Image=breviaryPicture(strPath);
fs.Close();
}
问题:我不停地双击,内存不断的增加,内存好像没有释放,为什么,怎么释放掉?
private void Form1_Load(object sender, System.EventArgs e)
{
FileStream fs = new FileStream(strPath,FileMode.Open, FileAccess.Read);
Image img = Image.FromStream(fs);
PictureBox1.Image=img;
fs.Close();
}
双击PictureBox1中的图片,把图片显示在PictureBox2中.
private void PictureBox1_DoubleClick(object sender, System.EventArgs e)
{
FileStream fs = new FileStream(strPath,FileMode.Open, FileAccess.Read);
Image img = Image.FromStream( fs );
PictureBox2.Image=breviaryPicture(strPath);
fs.Close();
}
问题:我不停地双击,内存不断的增加,内存好像没有释放,为什么,怎么释放掉?
解决方案 »
- 初学者的问题!
- C# 免登录程序
- 求思路,请高手指教!
- GDI Invalidate()问题 着急的很
- 关于数据库连接
- 关于MDI窗体和pictureBox控件的问题
- 如何自定义系统的右键菜单?__________________100分送上.
- dataview中添加超级链接列的问题
- winXP和win7的界面都正常,win8下不正常,什么情况
- Visual Studio.NET的开发环境为什么这么差!经常无法弹出自动完成窗口
- vs2005中crystal report 问题,诚心请教!!谢谢!!
- visual studio 2005 and stored procedure 错误???急救!!
可能是这一行的Image没有释放,等着回收呢
Image img = Image.FromStream( fs );
PictureBox2.Image = null;
PictureBox2.Image = img ;
fs.Close();
GC.Collect();//Call system to collect garbage
{
Image img = Image.FromStream(fs);
PictureBox1.Image=img;
fs.Close();
}
{
FileStream fs = new FileStream(strPath,FileMode.Open, FileAccess.Read);
Image img = Image.FromStream(fs);
PictureBox1.Image=img;
fs.Close();
}
双击PictureBox1中的图片,把图片显示在PictureBox2中.
private void PictureBox1_DoubleClick(object sender, System.EventArgs e)
{
FileStream fs = new FileStream(strPath,FileMode.Open, FileAccess.Read);
Image img = Image.FromStream( fs );
PictureBox2.Image=breviaryPicture(strPath);fs.Close();**************
img.Dispose();
**************
}
不知道行不行,你可以试试
Image img = Image.FromStream( fs );
if( PictureBox2.Image != null )
{
Image imgTemp = PictureBox2.Image;
PictureBox2.Image = null;
imgTemp.Dispose();
}
PictureBox2.Image = img ;
fs.Close();
我是这么写的,试了试没什么问题啊Image myImageLayout=Image.FromFile(@"image\LAYOUT\yun_2502.jpg");
myPictureBox.Image=myImageLayout;
Idispose说白了就是fs=null;其实这个你不用去管,,,比如你的程序装在64M内存的机器上,clr早就去给你GC了,,,你的机器有512M,clr可能就不会管了