- 浏览: 300594 次
文章分类
- 全部博客 (308)
- Apple (1)
- MAC (6)
- iPhone (1)
- iOS (1)
- Adobe (3)
- Microsoft (23)
- Windows (12)
- WAP (2)
- CMPP (6)
- Eclipse (5)
- .NET (13)
- Router (3)
- ADO.NET (2)
- C# (11)
- WPF (3)
- SqlServer (4)
- Facebook (2)
- JDBC (1)
- Visual Studio (10)
- ActiveMQ (9)
- Java (112)
- Memcached (2)
- NoSQL (7)
- Hadoop (9)
- GlassFish (2)
- Linux (98)
- CentOS (58)
- Spring (10)
- Oracle (17)
- JBOSS (12)
- Webservice (4)
- EJB (7)
- DFS (1)
- Hibernate (9)
- Redis (3)
- Tomcat (5)
- Python (8)
- FastDFS (6)
- Nginx (6)
- RabbitMQ (0)
- Erlang (0)
- Lucene (8)
- Solr (7)
- MySQL (1)
- JavaScript (0)
最新评论
-
zhangy888:
你好,我正好也遇到了这个问题,按照您的设置有如下几个问题,请帮 ...
CXF SOAP 1.2 SOAP 1.1 问题 -
u011493586:
这个SUBMIT写的还不错,只是有的地方没看懂
CMPP发送超长短信息(JAVA版) -
u011493586:
...
CMPP发送超长短信息(JAVA版)
Control.Invalidate方法:使控件的特定区域无效并向控件发送绘制消息。
通常情况下,用Invalidate()使区域无效就可触发该控件的重画了,但在一些条件下却没有触发重画.
例如:
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "888";
textBox1.Invalidate();
//textBox1.Update();
// textBox1.Refresh();
Thread.Sleep(5000);
textBox1.Text = "999";
}
这是由于Thread.Sleep(5000)这一句的存在,textBox1虽然Invalidate()了,但并没有显示"888",而是5秒后直接显示999了.
得用textBox1.Update();或textBox1.Refresh();才行.
Control.Update 方法:使控件重绘其工作区内的无效区域。
Control.Refresh 方法:强制控件使其工作区无效并立即重绘自己和任何子控件;
等效于将 Invalidate 方法设置为 true 并将该方法与 Update 一起使用。
那么既然有了Update,为何还要存在Invalidate呢?
原因是Invalidate有重载的版本例如:Invalidate(Rectangle, Boolean) 使控件的指定区域无效(将其添加到控件的更新区域,下次绘制操作时将重新绘制更新区域),并向控件发送绘制消息。还可以使分配给该控件的子控件无效
其实Invalidate 方法控制绘制或重新绘制的内容。Update 方法才是控制发生绘制或重新绘制的时间(即执行重绘制命名).
发表评论
-
C#调用C++的库 P/Invoke工具集
2015-04-28 15:06 1217p/Invoke可以使用工具辅助自动生成,以减少混淆 ... -
vs2010创建ActiveX工程和怎么给ActiveX添加方法
2015-01-13 11:11 800ActiveX控件是注册到电脑上的一个注册库文件,以ocx ... -
VisualSVN 破解
2014-10-08 17:02 1009首先,去VisualSVN官网下载最新版本。 传送门: h ... -
Radius服务器架设
2013-12-06 10:32 726Radius是一种C/S的通讯协议,它使Radius客户端 ... -
发一个扫盲贴,什么是WINSXS文件夹!
2013-06-17 17:56 912从WINDOWS 98用到现在的7,自VISTA ... -
C#的Dictionary值排序和SortedDictionary键排序
2013-03-25 08:43 2833对一个Dictionary<TKey, TValue& ... -
Expression Blend实例中文教程
2013-02-28 10:56 1468随着计算机软件开发分工细节化,微软对已有的产品线进行了调整 ... -
Windows 7下关闭IPV6隧道
2013-01-05 12:37 910IPv6隧道是将IPv6报文 ... -
VS使用中 coloader80.dll异常
2013-01-04 16:29 1117今天在工作的时候由于不小心直接关掉了正在运行程序的Vis ... -
log4net使用详解
2012-12-08 13:26 905说明:本程序演示如何利用log4net记录程序日志信息。log ... -
WPF导航在page中的实现方法
2012-08-15 10:23 1545WPF导航的实现方法有很多种。我们在文章中通过各种代码示例 ... -
网页设计中的默认字体样式详解
2012-08-08 10:01 803浏览器默认的样式往往在不同的浏览器、不同的语言版本甚至不同的系 ... -
enum : C#中的枚举类型,原来有这么多用法
2012-07-26 15:58 1403今天来的时候打开了MSDN扫了一眼C#里的枚举类型~~ 蓦然发 ... -
如何解决Visual Studio 远程调试权限异常System.Security.SecurityException
2012-07-23 13:31 1292如果Visual Studio 远程调试时,host ... -
三步实现Windows 7自动登录
2012-07-15 08:55 731现在很多的用户都已开始转向Windows 7了,对于习惯自 ... -
Visual Studio 编程技巧
2012-06-07 12:08 1311技巧 0 删除文件中的当前行: Home + Shife ... -
如何自动以管理员身份运行.NET程序?
2012-06-07 08:33 1873如何让.net程序自动运行在管理员权限下 VS2010 c# ... -
Visual Studio 远程调试的步骤
2012-05-31 11:59 1424使用场景 常用的主要是在部署的机器上程序出现问题, 而一 ... -
资源文件在国际化中的运用(WinForm)
2012-04-19 10:29 1037国际化的软件往往需要多种语言资源,如何在C#的WinFo ... -
C#保存文件或读取数据库文件 另存为
2012-04-18 09:51 1963/// <summary> /// ...
相关推荐
CSharp 4.0 .Net Framework V4.0 Control.Invalidate 方法
Invalidate与UpdateWindow区别.doc
在编程的时候经常把UpdateData、Invalidate、InvalidateRect和UpdateWindow四个函数混淆,在这里将简单介绍它们的区别
invalidate()的用法 主要用于刷新
分析invalidate流程例子
Invalidate函数及WM_PAINT总结,想必学VC++的都知道这两个东东的作用了!
Invalidate()函数[参考].pdf
vc学习,Invalidate(true),Invalidate(false)2008-08-27 08:13在学一个位图显示程序时,发现了图像显示能不能重绘的问题,当时看了msdn,也在网上看了不少回复。总感觉不是很理解。后来仔细试了一下,有点心得,特写...
Android中View绘制流程以及invalidate()等相关方法分析
C# WinForm ListView在虚拟模式下,从缓冲之中获取所需的数据进行加载,性能会有很大提高。步骤:(1)必须设置VirtualMode为true并设置VirtualListSize大小;(2)绑定该事件RetrieveVirtualItem(3)如果中间更新了数据...
给初学者的简单例题! private System.ComponentModel.IContainer components; private const int kNumberOfRows = 8; private const int kNumberOfTries = 3; private int NumTotalBricks = 0;...
是英文的,全面包含了c#的各方面。是非常好的一本书,绝对值得下载。 Introduction xxvii Part I: The C# Language 1 Chapter 1: .NET Architecture 3 The Relationship of C# to .NET 4 The Common Language ...
Android中View控件的Demo,值得学习。实现画多个圆圈的效果。
Invalidate(); } private int SelectLocationNumber(int lableNumber) { int result = 0; foreach (ControlLocation cl in clList) { if (cl.LableNum == lableNumber) { result=cl.LocationNum; } } ...
基于C#的典型图像处理算法 第二章: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; /...
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在...
C#做的俄罗斯方块游戏using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Xml; using System.IO; using System.Security....
C#拱猪游戏源码,,源码,可运行.部分源码: private void InitializeLocations() { List<int> allLocations = new List(); allLocations.Clear(); int getRandNumber = rand.Next(1, 17); allLocations.Add...
多种风格的端点,switch ,case,的用法实例,C#源代码//启发Paint事件并执行其中的代码 this.Invalidate(); VisualStudio2008创建