如何在VSTO Addin的长时间运行的任务中在UI上取消button?

我在c#中创build了一个Excel Addin,通过几行1000行并对单元格执行一些更新。 这是非常长的运行,我希望用户select取消,如果需要的话。

因为默认情况下,UI在处理过程中没有响应。

Excel Addin框架中是否有这样的东西? 我是否创build一个新的线程? 那会不会导致更新UI线程的问题呢?

寻找一些大方向或链接的东西,让我开始。

编辑:给出的例子是创build一个简单的button点击事件。 我明白那个。 我需要在VSTO中取消一个更复杂的过程。

答案不在于Excel对象模型或VSTO框架,而在于.NET。 您所需要的只是一个BackgroundWorker类,它将自动利用multithreading并轻松地取消操作。 这里有一篇很好的文章可以帮助你开始: https : //msdn.microsoft.com/en-us/library/hybbz6ke.aspx