您的位置:首页 > 编程语言 > C#

c# 中释放打开图片和 子窗体调用父窗体函数

2010-08-29 23:41 330 查看
第一个是 释放打开的图片

目的是把图片在列表中显示(也就是缩略图),然后可以对图片进行修改删除之类的操作。

原本写法 datagridview.rows[0][i].value = new bitmap (filepath);

但是这样文件打开后 会加锁, 无法在程序中 覆盖原来的图片。

查阅了一些资料后

解决方式如下

将打开的bitmap 复制到另一对象中

bitmap bmp = new bitmap(filepath);

bitmap bmp2 = new (bmp.width,bmp.height)

Graphics draw = Graphics.FromImage(bmp2);
draw.DrawImage(bmp, 0, 0);
bmp.dispose();

这样释放掉bmp,使用bmp2 即可。

参考

/article/5183707.html

第二个是子窗体调用父窗体函数问题

大体就是两种 一种是 委托 一种是参数

我采用的是第二种

第一次 在 子窗体form2 定义一个父窗体类型 form1的public 变量 然后form1 中 new form2()

form2.form1 = this

在form2中调用 form1的函数 是有效的 ,但就是 无法在 datagridview 中 插入 图片(一堆 红x ,那个函数正常情况下是 可以的)。

最后 参考下面的博客 换了个 写法 感觉就是增加了 form2中 定义form1 = new form1 (),然后就正常了。

http://heisetoufa.javaeye.com/blog/382684
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: