gpt4 book ai didi

C# - 如何使用自定义代码与后台 worker 一起工作 - 运行、暂停、停止?

转载 作者:行者123 更新时间:2023-11-30 17:52:55 25 4
gpt4 key购买 nike

我正在使用 Background Worker,但我无法同步我的进度条,也无法停止或中止进程。

在我的 dowork 函数中

void bw_DoWork(object sender, DoWorkEventArgs e)
{
if(bw.CancellationPending==true)
{
e.cancel=true;
return;
}
else
{
e.Result = abc();
}
}
int abc()
{
//my work
Count++;
return count;
}

void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if(bw.CancellationPending==true)
{
button17.Visibility = Visibility.Visible;
label1.Content = "Aborted";
}
button17.Visibility = Visibility.Visible;
label1.Content = "Completed";
}
private void Cancel_Click(object sender, RoutedEventArgs e)
{
if(bw.IsBusy)
{
bw.CancelAsync();
}
}

现在我想知道如何同步我的进度条以及如何退出进程?

最佳答案

你有没有设置BackgroundWorker.WorkerReportsProgress && BackgroundWorker.WorkerSupportsCancellation您实例上的属性为 true?

例如

var myBackgroundWorker = new BackgroundWorker();
myBackgroundWorker.WorkerReportsProgress = true;
myBackgroundWorker.WorkerSupportsCancellation = true;
//the rest of the init

如需汇报进度,需调用BackgroundWorker.ReportProgress() DoWork 中的方法。

关于C# - 如何使用自定义代码与后台 worker 一起工作 - 运行、暂停、停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17987230/

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