在使用BackgroundWorker时,可以通过以下方式给出多个错误消息:
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += (sender, e) =>
{
// 在这里执行后台操作
};
worker.RunWorkerCompleted += (sender, e) =>
{
if (e.Error != null)
{
// 处理错误消息
MessageBox.Show("发生错误:" + e.Error.Message);
}
else if (e.Cancelled)
{
// 处理取消操作的消息
MessageBox.Show("操作已取消。");
}
else
{
// 处理操作成功完成的消息
MessageBox.Show("操作已完成。");
}
};
worker.RunWorkerAsync();
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += (sender, e) =>
{
try
{
// 在这里执行后台操作
}
catch (Exception ex)
{
// 处理错误消息
MessageBox.Show("发生错误:" + ex.Message);
}
};
worker.RunWorkerCompleted += (sender, e) =>
{
if (e.Cancelled)
{
// 处理取消操作的消息
MessageBox.Show("操作已取消。");
}
else
{
// 处理操作成功完成的消息
MessageBox.Show("操作已完成。");
}
};
worker.RunWorkerAsync();
这样,当后台操作引发异常时,就可以通过RunWorkerCompleted事件或catch块来捕获并处理错误消息。