在用户方法运行时,在Excel中的C#用户窗体挂起

我是excel编程的新手,我现在有一个与我的Excel加载项代码的问题。 我的插件叫出一个Mainform。 每当我从这个表单的button调用我的方法来完成一些任务,比如search大量的数据,Mainform就会被冻结,这是不可避免的。 但是当方法运行的时候,假设它会调用一个子表单,这个子表单也在等待处理,我什么也做不了。

我的目的是调用一个子窗体添加进度条和中止button来取消正在运行的方法。

我该如何解决这个问题?

在此先感谢您的帮助。 vuhi

我相信你需要multithreading来允许; 使用VBA的multithreading无法完成。

有关更多详细信息,请参阅此问题的答案 。