首页 > 解决方案 > 具有新 Office 高 DPI 支持的 Outlook VSTO

问题描述

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

在最近的 Office 更新之前,加载项渲染得很好。但在微软推出Office 对高清显示器的支持后,许多表单在 Outlook 2016 (MSO / Office 365) 中开始呈现空白。

我可以通过在 Outlook 底部状态栏的“显示设置”中选择“优化兼容性”在 Outlook 中解决此问题: 显示设置弹出窗口

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

  1. 此设置位于 Windows 注册表中的哪个位置,我需要写入什么值才能激活“优化兼容性”模式?
  2. 如何使我的 WinForms 插件与新的“优化以获得最佳外观”模式一起使用?

更新

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

我还尝试将项目升级到 .NET 4.7 并为 Windows 窗体启用新的高 DPI 支持。但这也没有解决问题。

标签: winformsvstooutlook-addin

解决方案


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

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

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


推荐阅读