C# 如何从另一个页面获取 backgroundworker 的状态
如题我做了一个后台进程,启动的时候,启动另一个页面(这个页面其实只有一个进度条,一个取消的按钮)当我在这个页面点取消的这个按钮时,我判断后台进程的状态,但是却获取不到。我...
如题
我做了一个后台进程,启动的时候,启动另一个页面(这个页面其实只有一个进度条,一个取消的按钮)
当我在这个页面点取消的这个按钮时,我判断后台进程的状态,但是却获取不到。我设了断点看了,这个进程启动的时候 isBusy是true状态,但是我在这个页面点取消的时候,获取到的却是False 但是这个进程确实没有停止。只是进程的这个页面获取不到。求大神帮助
部分代码如下:
//取消按钮事件
private void btnCancel_Click(object sender, EventArgs e)
{
SchedulingTableSet sts = new SchedulingTableSet();
if (sts.bkWorker.IsBusy)
{
if (MessageBox.Show("你确定取消排班吗?", "终止", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
sts.bkWorker.CancelAsync();
}
else if (sts.bkWorkerfast.IsBusy)
{
if (MessageBox.Show("你确定取消排班吗?", "终止", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
sts.bkWorkerfast.CancelAsync();
}
} 展开
我做了一个后台进程,启动的时候,启动另一个页面(这个页面其实只有一个进度条,一个取消的按钮)
当我在这个页面点取消的这个按钮时,我判断后台进程的状态,但是却获取不到。我设了断点看了,这个进程启动的时候 isBusy是true状态,但是我在这个页面点取消的时候,获取到的却是False 但是这个进程确实没有停止。只是进程的这个页面获取不到。求大神帮助
部分代码如下:
//取消按钮事件
private void btnCancel_Click(object sender, EventArgs e)
{
SchedulingTableSet sts = new SchedulingTableSet();
if (sts.bkWorker.IsBusy)
{
if (MessageBox.Show("你确定取消排班吗?", "终止", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
sts.bkWorker.CancelAsync();
}
else if (sts.bkWorkerfast.IsBusy)
{
if (MessageBox.Show("你确定取消排班吗?", "终止", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
sts.bkWorkerfast.CancelAsync();
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询