- 浏览: 319795 次
-
文章分类
- 全部博客 (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 1325p/Invoke可以使用工具辅助自动生成,以减少混淆 ... -
vs2010创建ActiveX工程和怎么给ActiveX添加方法
2015-01-13 11:11 855ActiveX控件是注册到电脑上的一个注册库文件,以ocx ... -
VisualSVN 破解
2014-10-08 17:02 1096首先,去VisualSVN官网下载最新版本。 传送门: h ... -
Radius服务器架设
2013-12-06 10:32 794Radius是一种C/S的通讯协议,它使Radius客户端 ... -
发一个扫盲贴,什么是WINSXS文件夹!
2013-06-17 17:56 995从WINDOWS 98用到现在的7,自VISTA ... -
C#的Dictionary值排序和SortedDictionary键排序
2013-03-25 08:43 2905对一个Dictionary<TKey, TValue& ... -
Expression Blend实例中文教程
2013-02-28 10:56 1613随着计算机软件开发分工细节化,微软对已有的产品线进行了调整 ... -
Windows 7下关闭IPV6隧道
2013-01-05 12:37 961IPv6隧道是将IPv6报文 ... -
VS使用中 coloader80.dll异常
2013-01-04 16:29 1196今天在工作的时候由于不小心直接关掉了正在运行程序的Vis ... -
log4net使用详解
2012-12-08 13:26 993说明:本程序演示如何利用log4net记录程序日志信息。log ... -
WPF导航在page中的实现方法
2012-08-15 10:23 1614WPF导航的实现方法有很多种。我们在文章中通过各种代码示例 ... -
网页设计中的默认字体样式详解
2012-08-08 10:01 842浏览器默认的样式往往在不同的浏览器、不同的语言版本甚至不同的系 ... -
enum : C#中的枚举类型,原来有这么多用法
2012-07-26 15:58 1462今天来的时候打开了MSDN扫了一眼C#里的枚举类型~~ 蓦然发 ... -
如何解决Visual Studio 远程调试权限异常System.Security.SecurityException
2012-07-23 13:31 1380如果Visual Studio 远程调试时,host ... -
三步实现Windows 7自动登录
2012-07-15 08:55 800现在很多的用户都已开始转向Windows 7了,对于习惯自 ... -
Visual Studio 编程技巧
2012-06-07 12:08 1363技巧 0 删除文件中的当前行: Home + Shife ... -
如何自动以管理员身份运行.NET程序?
2012-06-07 08:33 1939如何让.net程序自动运行在管理员权限下 VS2010 c# ... -
Visual Studio 远程调试的步骤
2012-05-31 11:59 1519使用场景 常用的主要是在部署的机器上程序出现问题, 而一 ... -
资源文件在国际化中的运用(WinForm)
2012-04-19 10:29 1113国际化的软件往往需要多种语言资源,如何在C#的WinFo ... -
C#保存文件或读取数据库文件 另存为
2012-04-18 09:51 2033/// <summary> /// ...
相关推荐
6. **界面更新**:最后,为了让界面变化立即反映出来,需要调用控件的`Refresh()`方法,或者窗体的`Update()`和`Invalidate()`方法,强制界面重绘。 总结来说,创建"C#简单的字体大小颜色背景等变换程序"需要掌握C#...
最后,调用`Chart.Refresh()`或`Chart.Update()`方法,使图表根据最新设置和数据进行重绘。 以下是一个简单的C#代码示例,展示了如何创建一个折线图: ```csharp using System.Windows.Forms.DataVisualization....
5. 控件的刷新:为了确保时间的即时更新,我们需要在每次Tick事件触发后调用Label的Refresh()方法,或者整个Form的Invalidate()和Update()方法,以刷新显示。 6. 设计与布局:在WinForm设计阶段,开发者需要考虑...
此外,你还可以尝试使用`Update()`或`Invalidate()`方法来强制更新窗体区域。 最后,如果你能改进这一功能,使得移动窗体时背景能平滑、实时地显示,那么请考虑分享代码,这将对其他开发者有很大的帮助。如果你有...
记得在`Invalidate()`之后调用`Update()`或`Refresh()`方法以立即更新界面。`Invalidate()`会标记窗体需要重绘,但不会立即执行,因此需要`Update()`或`Refresh()`来强制刷新。 在`WinFormTest`项目中,你可以找到...