码迷,mamicode.com
首页 > Windows程序 > 详细

C# winform程序防止前台卡死

时间:2018-05-30 21:19:56      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:console   date   events   eve   显示   top   article   影响   containe   

https://blog.csdn.net/Emiedon/article/details/51069193

在实际开发中,如果需要实时的显示后台处理的情况,我们可能要在前台用一些控件去显示

所以我们可能会写诸如label1.text=...,button1.hide();等等这样的代码,但是我们会发现并不会立刻显示,作为一只菜鸟,我不清楚是怎么回事,但是我找到了一个解决办法

 

Application.DoEvents()

 

这个命令可以立即刷新前台,所以可以在程序代码里的适当位置添加,可以模拟出同步的感觉,但是因为这个过程比较耗时,所以会给计算性能带来一些影响,还是慎重使用吧

 

https://bbs.csdn.net/topics/380001753

Application.DoEvents();
这个是继续执行主线程操作

/// <param name="i">时间 单位:秒</param>
        private void dealTimer(int i)
        {
            DateTime dt1 = DateTime.Now; // 获取当前时间
            DateTime dt2;
            int diff = 0;
 
            while (diff < i)
            {
                dt2 = DateTime.Now;
                TimeSpan ts = dt2.Subtract(dt1);
                diff = (int)ts.TotalSeconds;
                Application.DoEvents();
            }
        }
 
我自己写的
 if (cts.Token.IsCancellationRequested)
                    {
                        Console.WriteLine("线程被终止!");
                        break;
                    }
                    Application.DoEvents();

C# winform程序防止前台卡死

标签:console   date   events   eve   显示   top   article   影响   containe   

原文地址:https://www.cnblogs.com/LuoEast/p/9112687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!