2012-09-17 36 views
1

我正在做一个Word 2007插件配置一些库。因此,直到这些库未配置某些按钮仍然被禁用。从后台线程通过ID访问功能区

如何从配置这些库的后台线程访问任何Ribbon元素?

如何使用Office API我可以使用元素ID作为参数访问元素?

+1

我假设你从同一线程(如WinForms中)尝试它时会出现跨线程错误。我不是Office开发人员,但我想在从辅助线程调用时,必须有'.Invoke'或'.BeginInvoke'来在GUI线程上执行代码。你有没有试过寻找类似的东西? – Dai

+0

@戴我的问题是关于如何通过API访问元素。我知道跨线程异常的UI元素发生了变化。但我不知道如何从一个ID访问这些元素。 – Victor

回答

1

我们不能直接访问元素。所有更改都应使用回调来完成。办公室商店缓存值。如果此值由其他线程更改,则该线程应使用InvalidateControl方法使元素高速缓存无效。