C#延迟执行方法函数实例讲解

 更新时间:2021年03月06日 16:42:33   投稿:newname  
这篇文章主要介绍了C#延迟执行方法函数实例讲解,这是比较常用的函数,有需要的同学可以研究下

需求分析:

我们在做winform开发的时候,有时候需要让程序休眠几秒钟,但是如果我们直接使用 Thread.Sleep()函数的话,页面UI就会停止响应。怎么样解决呢,你可以把页面涉及到表现UI的代码放到一个单线程处理,也可以采用我面的方法,加一个小函数就ok了。

 if (MessageBox.Show("确定要清理吗?", "确认", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
  this.labMsg.Text = "正在清理,请稍候...";
  ThreadPool.QueueUserWorkItem(state =>
   {
     //延迟2秒执行
     Thread.Sleep(2000);
     BeginInvoke(new Action(() =>
     {
        //这里是实现某个功能的代码,返回结果给UI
        string result = Clean();
        this.labMsg.Text = result;
      }));
   });      
}

也可以在线程里面休眠,然后再到主线程:

void Sleep()
{
   Thread sub = new Thread(() =>
   {
     //这里还可以处理些比较耗时的事情
     Thread.Sleep(1000);//休眠时间
     this.Dispatcher.Invoke(new Action(() =>
     {
       DoSomeThing();//调用处理事件
     }));
   });
}
//休眠后你要做的事情
void DoSomeThing()
{ 
}

到此这篇关于C#延迟执行方法函数实例讲解的文章就介绍到这了,更多相关C#延迟执行方法函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#实现利用反射简化给类字段赋值的方法

    C#实现利用反射简化给类字段赋值的方法

    这篇文章主要介绍了C#实现利用反射简化给类字段赋值的方法,涉及C#操作反射的相关技巧,需要的朋友可以参考下
    2015-05-05
  • C#多线程爬虫抓取免费代理IP的示例代码

    C#多线程爬虫抓取免费代理IP的示例代码

    本篇文章主要介绍了C#多线程爬虫抓取免费代理IP的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Unity中的PostProcessScene实用案例深入解析

    Unity中的PostProcessScene实用案例深入解析

    这篇文章主要为大家介绍了Unity中的PostProcessScene实用案例深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • C#并行编程之Task任务

    C#并行编程之Task任务

    这篇文章介绍了C#并行编程之Task任务,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#基础学习系列之Attribute和反射详解

    C#基础学习系列之Attribute和反射详解

    大家在使用Attribute的时候大多需要用到反射,所以放在一起。下面这篇文章主要给大家介绍了关于C#基础学习系列之Attribute和反射的相关资料,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • C#实现在购物车系统中生成不重复订单号的方法

    C#实现在购物车系统中生成不重复订单号的方法

    这篇文章主要介绍了C#实现在购物车系统中生成不重复订单号的方法,涉及C#中时间与字符串操作的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-05-05
  • C#规则引擎RulesEngine的具体使用

    C#规则引擎RulesEngine的具体使用

    这篇文章主要介绍了C#规则引擎RulesEngine的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • C# AE之返回上一级和下一级的实战操作

    C# AE之返回上一级和下一级的实战操作

    这篇文章主要介绍了C# AE之返回上一级和下一级的实战操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C# 委托(跨窗体操作控件)实例流程讲解

    C# 委托(跨窗体操作控件)实例流程讲解

    今天研究了一下,在C#里面却是可以不用自定义消息这么复杂的方法来实现跨窗体调用控件,C#有更好的办法就是委托。
    2013-03-03
  • C# 鼠标穿透窗体功能的实现方法

    C# 鼠标穿透窗体功能的实现方法

    通过以下代码,在窗体启动后调用方法SetPenetrate() 即可实现窗体的穿透功能,有需要的朋友可以参考一下
    2013-10-10

最新评论