其他分享
首页 > 其他分享> > .Net 【Winform】 BackgroundWorker总结

.Net 【Winform】 BackgroundWorker总结

作者:互联网

BackgroundWorker

Winfrom程序经常会有一些后台耗时操作,例如批量处理,如果在主UI线程上执行,UI线程会卡死,用户的使用感觉会很差。
BackgroundWorker提供了执行异步操作,配合ProgressBarControl进度条控件,用户能直观看到当前进度,主UI线程也不会等待卡死。

使用总结

private void Do_Work(object sender, DoWorkEventArgs e)
{
    for (int i = 0; i < 100; i++)
    {
        if (bgWorker.CancellationPending)
        {
            // 取消操作
            e.Cancel = true;
            return;
        }

        // 模拟后台执行操作
        Thread.Sleep(1000);

        bgWorker.ReportProgress(i, "success");
    }
}
// 
if (bgWorker.IsBusy)
{
    //避免多次调用
    return;
}

this.bgWorker.RunWorkerAsync();

源码

Demo.Winform

标签:异步,bgWorker,RunWorkerAsync,BackgroundWorker,操作,Net,Winform,属性
来源: https://www.cnblogs.com/thomerson/p/16277406.html