C#中Application.DoEvents()的作用
来源:互联网 发布:淘宝模板代码教程 编辑:程序博客网 时间:2024/05/22 00:45
Visual Studio里的摘要:处理当前在消息队列中的所有 Windows 消息。
交出CPU控制权,让系统可以处理队列中的所有Windows消息,比如在大运算量循环内,加Application.DoEvents可以防止界面停止响应,因为winform的消息循环是一个线程来处理,那么假如你的某个操作比较耗时,那么消息处理得等你这个耗时操作做完了才能继续,而Application.DoEvents方法就是允许你在耗时操作的内部调用它,而去处理消息队列中的消息。像鼠标移动鼠标点击都是windows消息,如果耗时操作一直进行,那么界面就像死锁一样。
(耗时操作用的比较多)
例:可用在避免用户重复点击按钮
// 现象描述:
// 用户点击按钮后程序开始繁忙工作,这时候用户不知道是否成功,就继续点几次
// 采用Enalbe = false ... = true的方式发现还会触发点击,分析原因如下
// 当程序繁忙的时候消息被堵住了
// 所以点击消息还会被处理
// 将队列里的消息处理掉后才打开按钮的Enabled
privatevoid button1_Click(object sender, EventArgs e)
{
button1.Enabled =false;
Thread.Sleep(2000);
richTextBox1.AppendText(Environment.TickCount.ToString() +"\r\n");
Application.DoEvents(); // 关键语句
button1.Enabled=true;
}
相关内容:http://xiexing20.blog.163.com/blog/static/5738501820137299433664/
- C#中Application.DoEvents()的作用
- Application.DoEvents()的作用
- Application.DoEvents()的作用
- Application.DoEvents()的作用
- Application.DoEvents()的作用
- Application.DoEvents()的作用
- C#Application.DoEvents();的作用。
- C#经典之Application.DoEvents()的使用
- C# 消息(Application.DoEvents())
- C# Application.DoEvents
- C# 消息(Application.DoEvents())
- c# Application.DoEvents
- C# Application.DoEvents
- Application.DoEvents()的应用
- Application.DoEvents()的使用
- C#经典之Application.DoEvents()
- C#经典之Application.DoEvents()
- C#经典之Application.DoEvents()
- 快速开发:估算与进度
- Protection 5 ---- Priviliege Level Checking 2
- Python初学(一)DocString
- 直接选择排序法
- php性能优化
- C#中Application.DoEvents()的作用
- 第85天的交易(2013-8-28)(-50)(-642.8)(数据单总盈利:1.35)(贵金属总盈利:-442.5)
- ant 入门使用指南
- Nagios在Ubuntu server上的安装配置
- DevExpress.XtraGrid.GridControl 单击某一行获取数据问题
- Java中Properties类的使用
- Matlab中的常见命令(二)
- 60个开发者不容错过的免费资源库
- CopyU!v2 已经收录到腾讯软件管家!