我用picturebox画曲线,先建了一个bitmap,然后赋给picturebox的image属性,每次在bitmap上面修改画图后,要重新刷新显示在picturebox上,我发现有3种方法:1.调用picturebox.Invalidate()
2.调用picturebox.Refresh()
3.重新赋值,picturebox.image = bitmap关于前两种方法,我在网上查了一些介绍:
Invalidate: 使控件的特定区域(可以自己设置区域,从而提高性能)无效并向控件发送绘制消息。
将控件标记为需要重绘,但是不会立即执行刷新重绘,等到系统空闲时进行重绘。Refresh: 强制控件使其工作区无效并立即重绘自己和任何子控件。大多数时候Invalidate已经足够了,当系统要集中进行大量的刷新重绘时,建议使用Invalidate,因为这样系统最终只进行一次刷新,提高了系统性能。如果你想立即执行刷新的时候,建议使用Refresh方法。
但是最后一种方法不知道与前面相比,性能怎么样?
2.调用picturebox.Refresh()
3.重新赋值,picturebox.image = bitmap关于前两种方法,我在网上查了一些介绍:
Invalidate: 使控件的特定区域(可以自己设置区域,从而提高性能)无效并向控件发送绘制消息。
将控件标记为需要重绘,但是不会立即执行刷新重绘,等到系统空闲时进行重绘。Refresh: 强制控件使其工作区无效并立即重绘自己和任何子控件。大多数时候Invalidate已经足够了,当系统要集中进行大量的刷新重绘时,建议使用Invalidate,因为这样系统最终只进行一次刷新,提高了系统性能。如果你想立即执行刷新的时候,建议使用Refresh方法。
但是最后一种方法不知道与前面相比,性能怎么样?
解决方案 »
- 脚本生成几个控件,在插入时如何循环取值,新手求解!
- 如何调用 web service 。回贴有风,你懂的
- 请教一个sqlserver存储过程事务性的问题
- ShowDialog无法显示窗口且导致程序停止响应
- 有关SQl设计的问题:一个对象A有2个类型,1、把这2个类型做成一个表B然后关联对象A的2个字段;2、把2个类型做成二个表,然后分别关联对象A的2个字段,那个好啊?
- 我去Java工作吗,还是去.net培训啊
- datagridview中设置列宽
- 共享一个NHibernate开发中数据访问层的代码生成工具,包括映射文件,实体类,Dao层代码,辅助类等.
- 用button给datagrid增加新记录问题
- 如何让安装后的程序运行在没有装.net机子上运行.
- the UpdateCommand affected 0 of the expected 1 records请帮忙解决,谢谢
- 大数据量模糊查询速度如何优化?
这些比较方法在C#的类库中都能找到比较的方法。