簡體   English   中英

從另一個背景工作人員C#停止背景工作人員

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM