[英]Stop backgroundworker from another backgroundworker c#
所以我在Winform應用程序中有2個背景工作人員,只是稱他們為b1和b2。 這是我的代碼:
private void b1_DoWork(object sender, DoWorkEventArgs e)
{
b2.RunWorkerAsync();
Thread.Sleep(3000);
b2.CancelAsync();
}
private void b2_DoWork(object sender, DoWorkEventArgs e)
{
Global.GetPdfThumbnail(Global.inPDF, Global.outImage);
}
我真正想要的是運行b2線程並使b1線程睡眠3秒鍾,然后停止b2線程。
問題出在b2.CancelAsync();
之后b2.CancelAsync();
指令,b2 isBusy
仍然為true。
請幫忙!
對不起我的英語!
將其放在b2 DoWork事件的結尾:
while (b2.IsBusy)
{
if (b2.CancellationPending)
{
e.Cancel = true;
break;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.