具有新 Office 高 DPI 支持的 Outlook VSTO
Posted
技术标签:
【中文标题】具有新 Office 高 DPI 支持的 Outlook VSTO【英文标题】:Outlook VSTO with new Office High DPI support 【发布时间】:2019-02-24 17:33:18 【问题描述】:我们有一个用于 Outlook 的 Office VSTO 插件,用 C# 编写并使用 Windows 窗体。
在最近的 Office 更新之前,加载项的渲染效果很好。但在微软推出Office support for high definition displays 之后,许多表单在 Outlook 2016 (MSO / Office 365) 中开始呈现空白。
我可以通过在 Outlook 底部状态栏的显示设置中选择“优化兼容性”在 Outlook 中解决此问题:
但是,如果每个用户都必须手动执行此操作,这对我们的客户来说不是一个可行的解决方案。所以我有两个问题:
-
此设置位于 Windows 注册表中的哪个位置,我需要写入什么值才能激活“优化兼容性”模式?
如何让我的 WinForms 插件在新的“优化以获得最佳外观”模式下工作?
更新
我发现禁用过渡以一种形式解决了问题,即在删除过渡后控件开始出现。但我们最重要的表单即使在移除所有转换后仍然呈现空白。
我还尝试将项目升级到 .NET 4.7 并为 Windows 窗体启用新的 high DPI support。但这也没有解决问题。
【问题讨论】:
【参考方案1】:我现在可以自己回答问题 1: Outlook 2016 MSO 将设置存储在
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options
在名称“RenderForMonitorDpi”下。如果设置为 1,则该选项设置为“优化以获得最佳外观”。如果设置为 0,则会设置为“优化兼容性”。
【讨论】:
以上是关于具有新 Office 高 DPI 支持的 Outlook VSTO的主要内容,如果未能解决你的问题,请参考以下文章
如何配置应用程序以在具有高 DPI 设置(例如 150%)的机器上正确运行?
如何配置应用程序以在具有高 DPI 设置(例如 150%)的机器上正确运行?