我想显示一个等待对话框,同时所有与PowerPoint对象有关的计算仍然在后台运行。我的目的是在处理PowerPoint对象的过程中,我试图阻止用户干扰UI。
似乎无法在后台处理PowerPoint对象。我的案子有没有解决办法?
由于
注意:我使用的是VS Ultimate 2013,C#,PowerPoint 2013,vsto
答案 0 :(得分:0)
Office应用程序使用单线程单元模型。这就是您需要使用主线程来处理Office / PowerPoint对象的原因。但是,您可以将所需信息提取到.Net集合中,并在另一个线程上处理数据。
但是,如果您需要使用PowerPoint对象,可能的解决方案是显示一个非对话框表单,其中包含一个显示操作状态的进度条。因此,最终用户将无法访问PowerPoint的UI。不要忘记为Show方法指定父窗口句柄(PowerPoint窗口句柄)(请参阅IWin32Window界面)。