【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 界面停止响应,在延时时间结束后,才弹出子窗体。

相关推荐
qq_5710993517 小时前
学习周报二十五
学习
崇山峻岭之间17 小时前
C++ Prime Plus 学习笔记027
c++·笔记·学习
IMPYLH17 小时前
Lua 的 tonumber 函数
开发语言·笔记·后端·junit·游戏引擎·lua
Xudde.17 小时前
BabyPass靶机渗透
笔记·学习·安全·web安全
kblj555517 小时前
学习Linux——学习工具——DNS--BIND工具
linux·运维·学习
风123456789~17 小时前
【健康管理学】第10章 中医养生学 1/2
笔记·健康管理
立志成为大牛的小牛18 小时前
数据结构——五十四、处理冲突的方法——开放定址法(王道408)
数据结构·学习·程序人生·考研·算法
hit56实验室18 小时前
罗计物流为什么会失败
笔记
小白闯关记录18 小时前
学习记录(二十四)-AGLLDiff
学习
FPGA小c鸡18 小时前
Vivado_Quartus安装与配置完全指南
学习·fpga开发