C# Winform中慎用Application.DoEvents
private void Add(){for (int i = 0; i < 100; i++){Button button = new Button();button.Width = 300;button.Height = 200;panel1.Controls.Add(button);Application.DoEvents();//此处用的话会导致问题}}private void button1_Click(object sender, EventArgs e){Add();}int errorCount = 0;private void timer1_Tick(object sender, EventArgs e){panel1.Controls.Clear();Add();}
如上代码,100ms的定时器,执行几分多钟后就会崩溃,提示StackOverFlow,推测可能是添加Button时队列里有新事件,DoEvents引爆导致。
转载于:https://www.cnblogs.com/zhaogaojian/p/8483860.html
C# Winform中慎用Application.DoEvents相关推荐
- 慎用Application.DoEvents( )
如果在UI的消息处理函数中进行较大量的计算或对界面进行操作,占用较长时间时可以在中间调用Application.DoEvents来响应用户操作,但不建议这样做,替代的方法就是在后台线程中进行这些操作, ...
- Application.DoEvents()的使用
最近做了一个个人数字图书馆管理系统,因为牵扯到电脑文件的扫描,想做一个实时显示当前扫面文件的功能,就类似于360文件扫描时的效果,本来打算用多线程来实现,但是方法太多没有实现,后来在程序中进行控制,由 ...
- Application.DoEvents
记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象,当时也没有深入的去研究他的原理是怎样的,结果在很多地方都用上了App ...
- WPF 延时操作实现 --- Application.DoEvents()
WPF 延时操作实现 - Application.DoEvents() 如果是在Winform中,我们可以这样实现 sleep延时方法: System.Threading.Thread.Sleep(1 ...
- 关于Application.DoEvents()
记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象,当时也没有深入的去研究他的原理是怎样的,结果在很多地方都用上了App ...
- .net中当Thread.Sleep和Application.DoEvents都不好用时
问题: 使用webbrowser控件对网页进行操作时,S模拟点击后,需要等待控件刷新 此时使用 Thread.Sleep() 会导致假死,且不会留给控件时间刷新 若简单使用 Applicatio ...
- C#Application.DoEvents();的作用。
Visual Studio里的摘要:处理当前在消息队列中的所有 Windows 消息. 交出CPU控制权,让系统可以处理队列中的所有Windows消息 比如在大运算量循环内,加Application. ...
- C# Application.DoEvents() 处理队列消息,防界面假死。
该方法可以处理当前队列的消息,比如一个for循环 5000次 向TextBox中追加文本,那肯定会假死一会儿的. 此时便可使用Application.DoEvents()来处理队列的信息. 简单说下使 ...
- WinForm中的MVC模式--MVP模式
本文主要介绍MVC模式在WINFORM中的实现,其实砖家们都称它为MVP模式,小弟E文不太好,真的是记不住那个P怎么拼写的.. MVC模式主要解决的问题就是将表示层和业务层进行分离,在以往做WINFO ...
最新文章
- 3ds max 多个物体合并
- oracle sql判断值为空,Oracle,sqlserver的空值(null)判断
- Rails的作者DHH获奖:Winning Google/O'Reilly's Best Hacker of '05
- ​【Python基础】告别枯燥,60 秒学会一个 Python 小例子(文末下载)
- Back-Training: 用于问题生成和段落检索的全新领域自适应方法
- 米10设置aac格式_Tipard Total Media Converter for Mac(全媒体格式转换器)
- ElasticSearch+NLog实现.net core分布式日志管理
- 淘宝网的技术发展史(三)——分布式时代
- 基于JVisualVM的可视化监控
- java日历类add方法_Java日历setFirstDayOfWeek()方法与示例
- PR软件下载Adobe Premiere Pro CC 2019安装教程
- vue-app之H5打开第三方app
- Python提取图片中的文字信息
- YAML Syntax Error Duplicated mapping key at line 62, column 24: description: 城市主键
- Mysql——》三星索引
- VisionPro脚本详解
- 【一文讲通】样本不均衡问题解决--上
- SQLTRACE的几个用法
- unity入门精要之第6 章 Unity 中的基础光照概述-1
- 发送writely和orkut邀请
热门文章
- (6) Hibernate的集合映射
- sql SERVER 模拟试题
- Squid-4.1(最新)安装及构建代理服务器
- 内核中用于数据接收的结构体struct msghdr以及iovec介绍
- 《网易编程题》计算糖果
- 《剑指offer》第一次只出现一次的字符
- ReactNative(API)Alert
- 应用机器学习进行无人机航拍影像质量评估
- 【典型错误】The type java.lang.Object cannot be resolved.
- 在ArcGIS中认识 Python工具箱