backgroundWorker对象的DowWork事件
private void _backgroundWorkerAuto_DoWork(object sender, DoWorkEventArgs e)
{
Thread.Sleep(15000);
MessageBox.Show("Do Work!");
}
RunWorkerCompleted事件
private void _backgroundWorkerAuto_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("Work Complete!");
_backgroundWorkerAuto.RunWorkerAsync();
}
以及窗口关闭事件
private void FileUploadTool_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("将要关闭窗体,是否继续?", "确认退出?", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
if (_backgroundWorkerAuto.IsBusy)
{
_backgroundWorkerAuto.CancelAsync();
}
e.Cancel = false;
}
else
e.Cancel = true;
}请问关闭程序还会遗留后台线程吗?CancelAsync()
private void _backgroundWorkerAuto_DoWork(object sender, DoWorkEventArgs e)
{
Thread.Sleep(15000);
MessageBox.Show("Do Work!");
}
RunWorkerCompleted事件
private void _backgroundWorkerAuto_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("Work Complete!");
_backgroundWorkerAuto.RunWorkerAsync();
}
以及窗口关闭事件
private void FileUploadTool_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("将要关闭窗体,是否继续?", "确认退出?", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
if (_backgroundWorkerAuto.IsBusy)
{
_backgroundWorkerAuto.CancelAsync();
}
e.Cancel = false;
}
else
e.Cancel = true;
}请问关闭程序还会遗留后台线程吗?CancelAsync()
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货