具有新的Office High DPI支持的Outlook VSTO

时间:2018-09-20 11:50:55

标签: winforms vsto outlook-addin

我们有一个用C#编写并使用Windows窗体的Office VSTO Outlook加载项。

在最近的Office更新之前,加载项呈现得很好。但是在Microsoft推出Office support for high definition displays之后,许多表单开始在Outlook 2016(MSO / Office 365)中变为空白。

我可以通过在Outlook底部状态栏上的“显示设置”中选择“优化兼容性”来解决此问题: Display Settings popup

但是,如果每个用户都必须手动执行此操作,那么对于我们的客户而言,这并不是一个可行的解决方案。所以我有两个问题:

  1. 此设置在Windows注册表中的什么位置,我需要写入什么值才能激活“优化兼容性”模式?
  2. 如何使用新的“优化外观”模式使WinForms加载项正常工作?

更新

我发现禁用转换以一种形式解决了该问题,在删除转换后控件开始出现。但是,即使删除了所有过渡,我们最重要的表单仍然呈现空白。

我还尝试将项目升级到.NET 4.7,并为Windows窗体启用新的high DPI support。但这也不能解决问题。

1 个答案:

答案 0 :(得分:6)

我现在可以自己回答问题1: Outlook 2016 MSO将设置存储在

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options

,名称为“ RenderForMonitorDpi”。如果将其设置为1,则该选项将设置为“为获得最佳外观而优化”。如果设置为0,它将设置为“优化兼容性”。