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相关推荐

  1. 慎用Application.DoEvents( )

    如果在UI的消息处理函数中进行较大量的计算或对界面进行操作,占用较长时间时可以在中间调用Application.DoEvents来响应用户操作,但不建议这样做,替代的方法就是在后台线程中进行这些操作, ...

  2. Application.DoEvents()的使用

    最近做了一个个人数字图书馆管理系统,因为牵扯到电脑文件的扫描,想做一个实时显示当前扫面文件的功能,就类似于360文件扫描时的效果,本来打算用多线程来实现,但是方法太多没有实现,后来在程序中进行控制,由 ...

  3. Application.DoEvents

    记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象,当时也没有深入的去研究他的原理是怎样的,结果在很多地方都用上了App ...

  4. WPF 延时操作实现 --- Application.DoEvents()

    WPF 延时操作实现 - Application.DoEvents() 如果是在Winform中,我们可以这样实现 sleep延时方法: System.Threading.Thread.Sleep(1 ...

  5. 关于Application.DoEvents()

    记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象,当时也没有深入的去研究他的原理是怎样的,结果在很多地方都用上了App ...

  6. .net中当Thread.Sleep和Application.DoEvents都不好用时

    问题: 使用webbrowser控件对网页进行操作时,S模拟点击后,需要等待控件刷新 此时使用 Thread.Sleep() 会导致假死,且不会留给控件时间刷新 若简单使用    Applicatio ...

  7. C#Application.DoEvents();的作用。

    Visual Studio里的摘要:处理当前在消息队列中的所有 Windows 消息. 交出CPU控制权,让系统可以处理队列中的所有Windows消息 比如在大运算量循环内,加Application. ...

  8. C# Application.DoEvents() 处理队列消息,防界面假死。

    该方法可以处理当前队列的消息,比如一个for循环 5000次 向TextBox中追加文本,那肯定会假死一会儿的. 此时便可使用Application.DoEvents()来处理队列的信息. 简单说下使 ...

  9. WinForm中的MVC模式--MVP模式

    本文主要介绍MVC模式在WINFORM中的实现,其实砖家们都称它为MVP模式,小弟E文不太好,真的是记不住那个P怎么拼写的.. MVC模式主要解决的问题就是将表示层和业务层进行分离,在以往做WINFO ...

最新文章

  1. 3ds max 多个物体合并
  2. oracle sql判断值为空,Oracle,sqlserver的空值(null)判断
  3. Rails的作者DHH获奖:Winning Google/O'Reilly's Best Hacker of '05
  4. ​【Python基础】告别枯燥,60 秒学会一个 Python 小例子(文末下载)
  5. Back-Training: 用于问题生成和段落检索的全新领域自适应方法
  6. 米10设置aac格式_Tipard Total Media Converter for Mac(全媒体格式转换器)
  7. ElasticSearch+NLog实现.net core分布式日志管理
  8. 淘宝网的技术发展史(三)——分布式时代
  9. 基于JVisualVM的可视化监控
  10. java日历类add方法_Java日历setFirstDayOfWeek()方法与示例
  11. PR软件下载Adobe Premiere Pro CC 2019安装教程
  12. vue-app之H5打开第三方app
  13. Python提取图片中的文字信息
  14. YAML Syntax Error Duplicated mapping key at line 62, column 24: description: 城市主键
  15. Mysql——》三星索引
  16. VisionPro脚本详解
  17. 【一文讲通】样本不均衡问题解决--上
  18. SQLTRACE的几个用法
  19. unity入门精要之第6 章 Unity 中的基础光照概述-1
  20. 发送writely和orkut邀请

热门文章

  1. (6) Hibernate的集合映射
  2. sql SERVER 模拟试题
  3. Squid-4.1(最新)安装及构建代理服务器
  4. 内核中用于数据接收的结构体struct msghdr以及iovec介绍
  5. 《网易编程题》计算糖果
  6. 《剑指offer》第一次只出现一次的字符
  7. ReactNative(API)Alert
  8. 应用机器学习进行无人机航拍影像质量评估
  9. 【典型错误】The type java.lang.Object cannot be resolved.
  10. 在ArcGIS中认识 Python工具箱