如何在c#中停止/销毁正在运行的操作

时间:2014-01-15 12:10:53

标签: c#

我有一个带有开始和取消按钮的窗体。

开始按钮执行以下操作:

bootLoader = new BootLoader(this, _form1);
bootloader.Start();

现在,当用户单击开始按钮时,BootLoader类将数据写入COM端口。

我想知道的是,当用户点击取消按钮时,如何停止此操作的完成。

目前我只有以下内容:

this.Close();

但它只是关闭表单,数据继续写入com端口。

1 个答案:

答案 0 :(得分:1)

使用可取消的BackgroundWorker

var bw = new BackgroundWorkder();
bw.WorkerSupportsCancellation = true;

然后在您的DoWork工作人员功能中,您需要监控CancellationPending标志,该标志在您致电bw.CancelAsync()后将变为真。