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