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

作者:newname 时间:2022-06-17 19:23:50 

需求分析:

我们在做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()
{
}

来源:https://blog.csdn.net/qq15577969/article/details/105634882

标签:C#,延迟
0
投稿

猜你喜欢

  • Spring利用@Validated注解实现参数校验详解

    2023-08-26 12:06:26
  • java获取时间的方法总结

    2022-03-28 15:36:38
  • Android 悬浮按钮之实现兔兔按钮示例

    2022-04-09 13:12:23
  • Java零基础精通方法篇

    2021-08-29 12:07:58
  • SpringCloud HystrixDashboard服务监控详解

    2021-12-16 03:35:47
  • 深入Android MediaPlayer的使用方法详解

    2023-07-21 21:50:47
  • android 更改TextView中任意位置字体大小和颜色的方法

    2021-10-21 01:51:43
  • Java编程实现非对称加密的方法详解

    2023-08-24 01:21:26
  • Runtime.getRuntime().exec 路径包含空格的解决

    2023-05-15 23:54:32
  • android实现背景音乐播放功能

    2023-09-17 23:29:25
  • Android自定义WaveProgressView实现水波纹加载需求

    2021-07-29 02:06:00
  • Android ListView用EditText实现搜索功能效果

    2021-05-29 09:05:25
  • OpenCV实现平均背景法

    2023-06-28 18:25:41
  • java 流与 byte[] 的互转操作

    2023-06-26 11:25:46
  • C# 设计模式系列教程-状态模式

    2022-11-07 13:31:55
  • 5分钟用C#实现串口助手

    2022-01-20 09:43:00
  • c# mutex互斥量的深入解析

    2022-03-13 02:38:42
  • 浅析JDK和Tomcat的安装与配置方法

    2022-02-02 07:49:43
  • C# 委托的三种调用示例(同步调用 异步调用 异步回调)

    2023-06-09 10:29:56
  • Java中break、continue、return在for循环中的使用

    2023-03-21 23:36:05
  • asp之家 软件编程 m.aspxhome.com