LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#WinForm实现Loading等待界面

admin
2024年1月26日 9:49 本文热度 666

在C# WinForms应用程序中实现一个Loading等待界面,可以使用BackgroundWorker组件或者TaskProgress<T>类来创建一个异步加载的效果。以下是一个简单的步骤,描述如何使用BackgroundWorker实现这个功能:

步骤1: 添加背景工作线程

在WinForms应用程序中,首先需要添加一个BackgroundWorker组件。可以通过在工具箱中拖拽它到窗体上,或者通过代码动态创建。

步骤2: 配置BackgroundWorker

在属性窗口中配置BackgroundWorker组件,或者通过代码设置:

backgroundWorker1.WorkerReportsProgress = true;
backgroundWorker1.WorkerSupportsCancellation = true;

步骤3: 实现DoWork事件处理程序

在DoWork事件中编写后台线程将要执行的代码。在这个例子中,我们将模拟一个耗时的操作。

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    // 模拟耗时操作
    for (int i = 0; i < 100; i++)
    {
        Thread.Sleep(50); // 模拟耗时操作
        backgroundWorker1.ReportProgress(i); // 报告进度更新
    }
}

步骤4: 实现ProgressChanged事件处理程序

在ProgressChanged事件中更新UI线程上的控件,以显示进度信息。这个事件是在UI线程上触发的,所以可以安全地更新UI控件。

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    // 更新进度条控件的进度属性,例如ProgressBar控件的Value属性
    progressBar1.Value = e.ProgressPercentage;
}

步骤5: 实现RunWorkerCompleted事件处理程序

当后台线程完成工作时,RunWorkerCompleted事件会被触发。在这个事件中,可以处理完成后的逻辑,比如隐藏Loading界面。

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    // 执行完成后的逻辑,比如隐藏Loading界面或显示完成消息等。
    loadingLabel.Visible = false// 隐藏Loading界面或更新UI状态等操作。
}

步骤6: 启动后台线程和开始工作

在需要显示Loading界面的地方,启动后台线程:

private void ShowLoading()
{
    // 启动后台线程并开始工作。可以设置取消功能。
    if (backgroundWorker1.IsBusy) return// 如果线程正在运行则不启动新的线程。
    backgroundWorker1.RunWorkerAsync(); // 启动后台线程。
}

步骤7: 取消后台线程(可选)

如果需要在某些条件下取消后台线程,可以在DoWork事件中添加逻辑来检查取消请求:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    // ... 其他代码 ...
    if (backgroundWorker1.CancellationPending) // 检查是否请求取消操作。
    {
        e.Cancel = true// 设置Cancel属性为true来取消操作。
        return// 退出DoWork方法。
    }
    // ... 其他代码 ...
}

以上就是使用C# WinForms中的BackgroundWorker组件实现Loading等待界面的基本步骤。这个方法的好处是可以在不阻塞UI线程的情况下执行耗时操作,并且能够轻松地报告进度和响应取消请求。


该文章在 2024/2/7 18:44:13 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved