gpt4 book ai didi

c# winform 后台 worker 和进度条

转载 作者:太空宇宙 更新时间:2023-11-03 19:31:28 25 4
gpt4 key购买 nike

我正在尝试使用 BG Worker 使进度条递增。我目前正在使用 2 个 BG worker,一个用于将数据添加到数据库中,另一个用于进度条。数据库上传工作正常,但进度条不正常。

代码:

BackgroundWorker bg2 = new BackgroundWorker();
bg2.DoWork +=new DoWorkEventHandler(bg2_DoWork);
bg2.RunWorkerAsync();

void bg2_DoWork(object sender, DoWorkEventArgs e)
{

while (bg1.IsBusy)
DrawWellPlate.pbar.Increment(1)
}

它所指的bg1是数据库上传线程,pbar显然是进度条。

谢谢。

最佳答案

你应该这样做其中 totalProgress 将显示在 progressBar 中,doWork 不在 UI 线程中执行,这就是 BackgroundWorker 的目的

BackgroundWorker bg2 = new BackgroundWorker();
bg2.DoWork +=new DoWorkEventHandler(bg2_DoWork);
.ProgressChanged += new ProgressChangedEventHandler(bg2_ProgressChanged)
bg2.RunWorkerAsync();

void bg2_DoWork(object sender, DoWorkEventArgs e)
{

while (bg1.IsBusy)
worker.ReportProgress(totalProgress);
}
private void bg2_ProgressChanged(object sender,
ProgressChangedEventArgs e)
{
DrawWellPlate.pbar.Value = e.ProgressPercentage;
}

参见 this了解更多详情

关于c# winform 后台 worker 和进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4604558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com