Invalidate, Update, Repaint, Refresh的异同
#Invalidate, Update, Repaint, Refresh的异同
文章目录
- Invalidate
- Update
- Repaint
- Refresh
Invalidate
Invalidate方法通知Windows窗体的整个表面都应该重新绘制。最重要的是,Invalidate不会立即强制执行绘制操作。Windows只存储请求,只响应请求。
当前程序完全执行后,以及系统中没有其他未决事件后。Windows故意延迟绘制操作,因为这是最耗时的操作之一。有时因为这种延迟,只有在多次更改后才能绘制表单,从而避免多次连续调用(慢速)绘制方法。
Update
Update方法要求Windows更新表单的内容,立即重新绘制表单。
但是,请记住,只有在存在无效区域时,才会执行此操作;如果没有无效区域,则调用Update完全无效。
如果刚刚调用了Invalidate方法,或者是用户操作Update,就会发生这种情况。
因此,在调用Invalidate之后,通常会调用Update——也就是Repaint方法。
Repaint
Repaint方法就是依次调用Invalidate和Update。因此,它会立即激活OnPaint事件。
当需要向表单请求重新绘制操作时,通常应该按照标准的Windows方法调用Invalidate。当您需要频繁请求此操作时,这一点尤为重要。因为:
1、Windows中的wm_Paint消息是一种低优先级消息。更准确地说,如果重新绘制的请求处于挂起状态,但其他消息正在等待,那么其他消息将在系统实际执行绘制操作之前处理。
2、如果多次调用Repaint,则每次都必须重新绘制屏幕,Windows才能处理其他消息。由于绘制操作需要大量计算,这实际上会降低应用程序的响应速度。除非你希望应用程序尽快重新绘制图面。
Refresh
与Repaint基本一致。对于一个界面来说,效果是一样的;对于组件,可能会略有不同。
Invalidate, Update, Repaint, Refresh的异同相关推荐
- Invalidate,Update与Refresh的区别
在做Windows Forms开发的时候,免不了需要手动刷新窗口,以重绘所需更改的控件,或其它什么的.当出现这类需求时,你有三个选择,使用Invalidate,Update或者Refresh方法. I ...
- 【Elastischearch】7.6 版本 update 后 refresh 慢,性能问题导致稳定性问题
1.概述 7.6 版本 update 后 refresh 慢,性能问题导致稳定性问题 故障现象 主分片自我恢复非常慢,或者 refresh 慢.refresh 期间的堆栈: move 分片,或者重启节 ...
- 【impala】Impala中的invalidate metadata和refresh
前言 Impala采用了比较奇葩的多个impalad同时提供服务的方式,并且它会由catalogd缓存全部元数据,再通过statestored完成每一次的元数据的更新到impalad节点上,Impal ...
- Impala 中invalidate metadata和refresh
首先了解一下:Impala如何融入Hadoop生态系统 Impala使用了Hadoop生态系统中许多熟悉的组件.Impala可以作为消费者和生产者与其他Hadoop组件交换数据,因此它可以以灵活的方式 ...
- 正确使用Impala的invalidate metadata与refresh语句
在Impala中,invalidate metadata与refresh语句都可以用来刷新表,但它们本质上还是不同的.本文简要分析一下,并说明它们应该在什么情况下使用. Impala on Hive介 ...
- QT QPaintEvent update repaint 高帧率画图
Qt paintevent事件 一.主要理解一下几个方法和属性: 1.QWidget * QScrollView::viewport () const 2.void QWidget::paintEve ...
- Qt重绘之update,repaint详解
Qt里面的重绘和Windows编程里面的重绘差不多.但是Qt的重绘更有特色,更加智能. 在讲之前,先说说paintEvent() paintEvent()是一个虚函数槽(slot),子类可以对父类的p ...
- qt repaint 用法_Qt重绘之update,repaint详解
Qt里面的重绘和Windows编程里面的重绘差不多.但是Qt的重绘更有特色,更加智能. 在讲之前,先说说paintEvent() paintEvent()是一个虚函数槽(slot),子类可以对父类的p ...
- qt repaint 用法_Qt重绘之update,repaint详解(转)
Qt里面的重绘和Windows编程里面的重绘差不多.但是Qt的重绘更有特色,更加智能. 在讲之前,先说说paintEvent() paintEvent()是一个虚函数槽(slot),子类可以对父类的p ...
最新文章
- silverlight4.0 写文件不能设置默认文件名
- 水稻微生物组时间序列分析精讲1-模式图与主坐标轴分析
- 深度学习图像搜索与识别
- php smtp 超时,SMTP错误:无法连接到服务器:连接超时(110)与PHPMailer和Outlook SMTP
- javaweb 后台知识点
- UA MATH566 统计理论1 充分统计量
- 矩形嵌套 南阳理工ACM
- boost::mpi模块对gather() 和gatherv() 集合的测试
- 面向云数据库,超低延迟文件系统PolarFS诞生了
- FLASH开发[02]
- 登录注册的小项目对比.Net Core与 .Net Framework的一些区别
- “常程跳槽小米”裁决出炉:常程继续履行竞业限制,还要赔500多万...
- 谷歌跨界医学新动作:基因突变定位模型又更!新!了!
- 博弈论笔记(0)—— 参考书籍及前置知识
- mysql 查询开始时间和结束时间是一个月的数据sql
- 苹果Mac OS X 10.6 Snow Leopard雪豹操作系统BT种子(.torrent)下载,6.13G个人版和Sever服务器版
- 【量化课堂】彼得·林奇的成功投资
- 怎么在安全模式里找计算机用户,安全模式怎么解除
- 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
- Android——广播