C# WinForm程序处理后台繁忙导致前台控件假死现象解决方法

作者:junjie 时间:2021-09-02 12:22:44 

特别是针对循环或timer处理中需要在窗体控件显示数据时,因后台处理过度繁忙而出现没刷新或者假死现象时,可以使用


Application.DoEvents();


Application.DoEvents()的作用


        private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 10000; i++)
            {
                label1.Text = i.ToString();
                Application.DoEvents();
            }
        }

测试了一下,没有Application.DoEvents()的时候,Label基本处于假死机状态,最后显示一个9999,加上后会数字变换正常显示。

从这个测验后DoEvents的功能,应该DoEvents就好比实现了进程的同步。在不加的时候,因为优先级的问题,程序会执行主进程的代码,再执行别代码,而加了以后就可以同步执行。

标签:C#,WinForm,控件假死
0
投稿

猜你喜欢

  • Springboot实现高吞吐量异步处理详解(适用于高并发场景)

    2023-08-20 23:40:35
  • Java Comparable和Comparator对比详解

    2022-08-13 01:28:08
  • C#实现将字符串转换成日期格式的方法

    2021-07-18 06:19:11
  • Netty分布式高性能工具类同线程下回收对象解析

    2023-05-24 22:00:55
  • Android布局之GridLayout网格布局

    2022-04-24 22:49:46
  • Java构造函数的相互调用代码示例

    2023-07-01 21:42:11
  • Android编程实现网络图片查看器和网页源码查看器实例

    2021-07-27 23:48:40
  • Java 自定义Spring框架与核心功能详解

    2023-11-29 05:45:19
  • Android Activity生命周期调用的理解

    2023-05-13 14:15:42
  • Java实现去除文档阴影的示例代码

    2023-08-31 11:45:48
  • SpringMVC统一异常处理实例代码

    2021-05-31 02:29:26
  • C#通过PInvoke调用c++函数的备忘录的实例详解

    2023-11-25 12:53:08
  • C#基础学习系列之Attribute和反射详解

    2022-07-19 17:55:40
  • Spring Boot @Conditional注解用法示例介绍

    2023-04-18 22:51:51
  • SpringBoot整合WebSocket实现后端向前端发送消息的实例代码

    2021-10-30 19:24:56
  • Android AlertDialog(对话框)实例详解

    2023-07-19 11:37:55
  • Android仿QQ空间动态界面分享功能

    2023-11-13 11:03:58
  • 详解Java编程中线程同步以及定时启动线程的方法

    2021-08-31 10:59:20
  • Java 编程中十个处理异常的建议

    2022-10-27 11:34:41
  • 谈谈Java中自定义注解及使用场景

    2022-08-28 04:45:39
  • asp之家 软件编程 m.aspxhome.com