- 浏览: 312835 次
文章分类
- 全部博客 (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 1285p/Invoke可以使用工具辅助自动生成,以减少混淆 ... -
vs2010创建ActiveX工程和怎么给ActiveX添加方法
2015-01-13 11:11 840ActiveX控件是注册到电脑上的一个注册库文件,以ocx ... -
VisualSVN 破解
2014-10-08 17:02 1058首先,去VisualSVN官网下载最新版本。 传送门: h ... -
Radius服务器架设
2013-12-06 10:32 768Radius是一种C/S的通讯协议,它使Radius客户端 ... -
发一个扫盲贴,什么是WINSXS文件夹!
2013-06-17 17:56 970从WINDOWS 98用到现在的7,自VISTA ... -
C#的Dictionary值排序和SortedDictionary键排序
2013-03-25 08:43 2882对一个Dictionary<TKey, TValue& ... -
Expression Blend实例中文教程
2013-02-28 10:56 1548随着计算机软件开发分工细节化,微软对已有的产品线进行了调整 ... -
Windows 7下关闭IPV6隧道
2013-01-05 12:37 945IPv6隧道是将IPv6报文 ... -
VS使用中 coloader80.dll异常
2013-01-04 16:29 1170今天在工作的时候由于不小心直接关掉了正在运行程序的Vis ... -
log4net使用详解
2012-12-08 13:26 957说明:本程序演示如何利用log4net记录程序日志信息。log ... -
WPF导航在page中的实现方法
2012-08-15 10:23 1601WPF导航的实现方法有很多种。我们在文章中通过各种代码示例 ... -
网页设计中的默认字体样式详解
2012-08-08 10:01 830浏览器默认的样式往往在不同的浏览器、不同的语言版本甚至不同的系 ... -
enum : C#中的枚举类型,原来有这么多用法
2012-07-26 15:58 1437今天来的时候打开了MSDN扫了一眼C#里的枚举类型~~ 蓦然发 ... -
如何解决Visual Studio 远程调试权限异常System.Security.SecurityException
2012-07-23 13:31 1343如果Visual Studio 远程调试时,host ... -
三步实现Windows 7自动登录
2012-07-15 08:55 771现在很多的用户都已开始转向Windows 7了,对于习惯自 ... -
Visual Studio 编程技巧
2012-06-07 12:08 1349技巧 0 删除文件中的当前行: Home + Shife ... -
如何自动以管理员身份运行.NET程序?
2012-06-07 08:33 1911如何让.net程序自动运行在管理员权限下 VS2010 c# ... -
Visual Studio 远程调试的步骤
2012-05-31 11:59 1481使用场景 常用的主要是在部署的机器上程序出现问题, 而一 ... -
资源文件在国际化中的运用(WinForm)
2012-04-19 10:29 1080国际化的软件往往需要多种语言资源,如何在C#的WinFo ... -
C#保存文件或读取数据库文件 另存为
2012-04-18 09:51 2015/// <summary> /// ...
相关推荐
本文将详细介绍它们的区别和使用场景。 UpdateData UpdateData 是一个重要的函数,它用于在变量和控件之间同步数据。当您使用 ClassWizard 建立了控件和变量之间的联系后, UpdateData 就扮演着关键角色。它有两个...
"invalidate()方法在Android中的应用和实现" invalidate()方法是Android中的一种常用方法,主要用于刷新View的界面。当View的显示状态发生改变时,需要调用invalidate()方法来重新绘制界面。invalidate()方法的调用...
在Android开发中,`Invalidate`是一个至关重要的概念,它涉及到UI更新机制,与用户界面的刷新和重绘紧密相关。当我们对一个View调用`invalidate()`方法时,实际上是触发了该View的重新绘制过程。这个过程涉及到多个...
### Invalidate() 函数详解 #### 一、函数简介 `Invalidate()` 是Windows编程中一个非常重要的函数,主要用于控制窗口的重绘行为。该函数可以让应用程序通知系统某个窗口或者其部分区域需要重新绘制。这对于图形...
这涉及到定时更新图形,使用`Invalidate`或`Update`方法强制重绘,并根据新的数据更新线条的位置。 总的来说,C#提供了强大的图形绘制能力,无论是简单的静态坐标轴还是复杂的动态曲线,都可以通过合理的API调用来...
Invalidate() 和 InvalidateRect() 的主要区别在于,Invalidate() 使整个窗口客户区无效,而 InvalidateRect() 只是增加重绘区域。InvalidateRect() 可以指定要刷新的区域,而 Invalidate() 则不能。 UpdateWindow...
### Invalidate与UpdateWindow的区别 #### 一、Invalidate函数详解 **定义与作用:** `Invalidate`函数用于标记窗口的客户区为无效状态,即表明这部分区域需要重新绘制。通常,当窗口的一部分内容发生变化或者被...
在C#编程中,`Control.Invalidate()`方法是.NET Framework 4.0中一个非常重要的图形界面编程元素,主要用于更新控件的显示内容。当控件的状态或数据发生变化,需要刷新其显示时,就会调用这个方法。这个方法使得控件...
一种常见方法是使用定时器(如`System.Timers.Timer`或`System.Windows.Forms.Timer`),在每隔一定时间间隔后触发事件,更新曲线数据并调用控件的`Invalidate()`或`Update()`方法来强制重绘界面。这样,随着新数据...
在C#编程中,ListView控件是Windows Forms中常用的一个组件,用于显示一系列的数据项,通常以列表形式呈现。然而,在动态加载大量数据或者频繁更新ListView时,可能会出现闪烁现象,这不仅影响用户体验,也可能对...
在C#编程中,自定义控件是一种常见的需求,它允许开发者根据项目需求创建具有特定功能或视觉效果的用户界面元素。"c#自定义透明按钮控件"就是这样一个实例,它展示了如何利用C#语言和.NET Framework或.NET Core来...
`invalidate()`方法是View类中的一个重要成员,用于触发View的重绘操作。本篇文章将深入探讨Android中View的绘制流程以及`invalidate()`方法的工作原理。 首先,我们需要了解Android视图的生命周期,它包括测量...
在C#编程中,自定义控件是一种常见的需求,它允许开发者根据项目需求创建具有特定功能或视觉效果的用户界面元素。本篇将深入探讨如何在C#中自定义一个开关按钮控件,并通过实际的代码示例进行解析。 首先,我们需要...
在C#中实现一个刻度尺的项目,可以涉及到图形用户界面(GUI)设计、坐标系统转换、单位换算以及自定义控件等多个知识点。以下将详细解释这些内容。 1. **图形用户界面(GUI)设计**:在VS2013中,我们可以使用...
可以使用System.Timers.Timer类,设置合适的Interval(比如1秒),当Timer的Elapsed事件触发时,更新时针、分针和秒针的位置,并调用Control.Invalidate()方法强制重绘控件。 6. **格式化时间显示** 如果你想在...
通过与定时器事件关联,我们可以定期更新雷达扫描的角度和探测到的目标,并使用`Invalidate`方法强制重绘控件,从而实现动态效果。同时,考虑到用户体验,还需要考虑如何平滑地过渡动画,避免画面闪烁。 此外,用户...
当这个属性改变时,触发控件的Invalidate方法,使得控件重新绘制自身,更新电池的显示状态。此外,还可以考虑添加一个事件,比如BatteryLevelChanged,供其他部分的代码响应电池容量的变化。 在控件中,可以实现...
在.NET Framework 4.0环境下,使用C#编程语言实现动态柱状图是一种常见的数据可视化需求。柱状图能够清晰地展示数据之间的比较,对于数据分析和界面展示具有重要作用。本文将详细探讨如何利用C#和Chart控件来创建一...
在C#编程中,WinForms是一个用于创建桌面应用程序的强大框架。有时我们需要在应用程序的界面中进行图形绘制,比如画直线,这在创建自定义控件或实现特定视觉效果时非常有用。本文将深入探讨如何使用C#实现在WinForm...