Control.Refresh Control.Invalidate 和 Control.OnPaint之间的联系和区别
1、Control.Invalidate会放一个WM_PAINT消息到消息队列,当Control处理到该消息的时候,就调用OnPaint。
2、Control.Refresh相当于以下两行:
Control.Invalidate(true);
Control.Update();
3、Control.Update会搜索消息队列,如果找到WM_PAINT,就把它取出,'直接'调用OnPaint。
因此,Invalidate告诉系统当前窗口要求重画,但不要求立即执行,那些排在WM_PAINT前面的消息会先处理。
Refresh则立刻重画窗口。
Control.Refresh Control.Invalidate 和 Control.OnPaint之间的联系和区别的更多相关文章
- 什么时候会刷新备库控制文件refresh the standby database control file?
		
通过合理的设置,对于Primary的绝大数操作,都是可以传递到Physical Standby,datafile的操作是通过STANDBY_FILE_MANAGEMENT参数来控制的,但是即使STAN ...
 - Difference between ID and control.ClientID OR why use control.ClientID if I can access control through ID
		
https://stackoverflow.com/questions/3743582/difference-between-id-and-control-clientid-or-why-use-c ...
 - ClassLibary和WPF User Control LIbary和WPF Custom Control Libary的异同
		
说来惭愧,接触WPF这么长时间了,今天在写自定义控件时遇到一个问题:运行界面中并没有显示自定义控件,经调试发现原来没有加载Themes中的Generic.xaml. 可是为什么在其他solution中 ...
 - Method and system for implementing mandatory file access control in native discretionary access control environments
		
A method is provided for implementing a mandatory access control model in operating systems which na ...
 - <Java中的继承和组合之间的联系和区别>
		
//Java中的继承和组合之间的联系和区别 //本例是继承 class Animal { private void beat() { System.out.println("心胀跳动...& ...
 - VC++中关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
		
而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息. OnDraw()是CVIEW的成员函数,并且没有响应消息的功能.这就是为什么你用VC成的程序代码时,在视图类只有OnDraw ...
 - sql语句中left join、right join 以及inner join之间的使用与区别
		
sql语句中left join.right join 以及innerjoin之间的使用与区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join( ...
 - UIView的alpha、hidden和opaque属性之间的关系和区别[转]
		
UIView的alpha.hidden和opaque属性之间的关系和区别 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/ ...
 - 常见Linux的发行版有哪些?并描述不同发行版之间的联系与区别。
		
一.按系列罗列linux的发行版,并描述不同发行版之间的联系和区别 Linux发行版=Linux内核+商业软件 linux的发行版: RedHat.Fedora.suse.红旗.debian.Ubun ...
 
随机推荐
- [WebService]之代码优先方法与契约优先方法
			
什么是 web 服务? web 服务是对应用程序功能的网络访问接口,它是使用标准 Internet 技术构建的. 我们目前看到的部署在 Internet 上的 web 服务都是 HTML 网站.其中, ...
 - JavaScript面向对象(01)--函数
			
在JavaScript中,函数和对象有区别,也有联系, 首先函数是一个对象,但是和对象存在一些区别如下: 1,不论在java还是js中,如果把一个对象赋值给另一个变量,那么,后者会指向前者对象所在的内 ...
 - 通过用 .NET 生成自定义窗体设计器来定制应用程序
			
通过用 .NET 生成自定义窗体设计器来定制应用程序 https://www.microsoft.com/china/MSDN/library/netFramework/netframework/Cu ...
 - Spark RDD概念学习系列之RDD的转换(十)
			
RDD的转换 Spark会根据用户提交的计算逻辑中的RDD的转换和动作来生成RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG.接下来以“Word Count”为例,详细描述这个DAG生成的 ...
 - Xtrabackup之innobackupex备份恢复详解(转)
			
add by zhj:对于Xtrabackup2.2来说,已经解决了本文结尾提到的那个bug,当使用--copy-back时,同时加--force-non-empty-directories 即可.这 ...
 - iOS KVC/KVO/KVB
			
看了那么多博客.描述那么复杂,其实KVC很简单,没描述的那么复杂,所以写一篇简单的易于理解的博文,切入正文: 1.KVC底层是通过runtime对method和value操作 比如说如下的一行KVC ...
 - Android之旅 笔记总结(一)
			
一.Android入门 1. Android操作系统的体系结构分为4层,由上而下依次是应用程序.应用程序框架.核心类库(包括Android运行时环境)和Linux内核. 2. ...
 - JAVA插入数据到MySql少了8小时
			
这个问题,真的是找了很久. 之前以为是mysql的timezone有问题.根据网上的方法,把timezone改了,还是不起作用. 然后以为是java的问题,但试来试去java也不存在timezone不 ...
 - hdoj 5387(Clock)
			
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5387 比较水的一道题目,也是自己单翘的第一道题目吧,题意就是找到给定时间时钟三个指针之间的夹角, 需要 ...
 - zookeeper的安装和启动
			
最近的手上一个项目要用到dubbo,顺便研究下zookeeper 1.下载 下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/,下载解压到D:\t ...