【Winform学习笔记(九)】Winform窗体程序延迟函数

Winform窗体程序延迟函数

前言

Winform 窗体程序开发时,有时需要程序延迟或休眠几秒,如果直接使用 Thread.Sleep() 方法,会造成程序的假死,UI 界面停止响应;

本文中主要介绍一种方法,防止程序假死,在延迟过程中也可响应其他消息。

正文

1、具体代码

csharp 复制代码
/// <summary>
/// 延迟函数(毫秒级)
/// </summary>
/// <param name="time">需要延迟的时间</param>
public static void Delay(double time)
{
    double strart = Environment.TickCount;
    while (Math.Abs(Environment.TickCount - strart) < time)
    {
        Application.DoEvents();
    }
}

2、使用示例

  1. 使用Delay()方法

    csharp 复制代码
            public void Add(int a,int b)
            {
                Delay(5000);
                label1.Text = (a + b).ToString();
            }

    通过上面动图可以看到,在执行主窗体方法后,也可以执行其他操作。

  2. 使用Thread.Sleep() 方法

    csharp 复制代码
            public void Add(int a,int b)
            {
                Thread.Sleep(5000);
                label1.Text = (a + b).ToString();
            }

    通过动图可以看到在执行主窗体方法时,UI 界面停止响应,在延时时间结束后,才弹出子窗体。

相关推荐
知产xiao_xin4 小时前
知识产权入门 —— 相关权(邻接权)
经验分享·笔记·知识产权
自小吃多4 小时前
DXF文件导入与PCB板框定义笔记
笔记·嵌入式硬件
是隼人5 小时前
buuctf-pwn xdctf2015_pwn200题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
jike_20266 小时前
iPhone采访录音同时拍现场照片的APP:图片音频同步记录实测
笔记·智能手机·音视频·语音识别
大衛說6 小时前
《Python 从入门到精通》系列总览与学习路线
开发语言·python·学习
吃好睡好便好7 小时前
查找函数的使用
学习·算法·matlab·生活·查找函数
学运维的Kysan7 小时前
暑假运维学习打卡第二十九天8.29
学习
————A7 小时前
Agent 接收用户上传文件
人工智能·笔记·python·状态模式
奔跑的痕迹7 小时前
如何删除引力画报?
笔记
zbyyd7 小时前
Linux 进程间通信学习笔记
linux·笔记·学习