在此期间,如何显示等待对话框,仍然继续处理PowerPoint对象?

时间:2014-12-04 10:14:00

标签: vsto office-interop powerpoint-vba office-addins

我想显示一个等待对话框,同时所有与PowerPoint对象有关的计算仍然在后台运行。我的目的是在处理PowerPoint对象的过程中,我试图阻止用户干扰UI。

似乎无法在后台处理PowerPoint对象。我的案子有没有解决办法?

由于

注意:我使用的是VS Ultimate 2013,C#,PowerPoint 2013,vsto

1 个答案:

答案 0 :(得分:0)

Office应用程序使用单线程单元模型。这就是您需要使用主线程来处理Office / PowerPoint对象的原因。但是,您可以将所需信息提取到.Net集合中,并在另一个线程上处理数据。

但是,如果您需要使用PowerPoint对象,可能的解决方案是显示一个非对话框表单,其中包含一个显示操作状态的进度条。因此,最终用户将无法访问PowerPoint的UI。不要忘记为Show方法指定父窗口句柄(PowerPoint窗口句柄)(请参阅IWin32Window界面)。