代码之家  ›  专栏  ›  技术社区  ›  Ama

通过VS 2017 designer在低DPI屏幕上绘制高DPI兼容的Windows窗体

  •  0
  • Ama  · 技术社区  · 6 年前

    我为Ms Word开发了一个VSTO插件,其中包括一个WinForm UserControl Microsoft.Office.Tools.CustomTaskPane .

    通过Visual Studio 2017从两台机器上进行开发和测试:

    1. Windows 7+上的桌面“低”DPI屏幕
    2. Windows 10+高DPI屏幕上的笔记本电脑

    用户控件是从机器1设计的。当我在机器2上打开项目时,或者当我从机器1编译并在机器2上运行时,我遇到了典型的从低DPI到高DPI的问题:表单布局变得混乱。

    我了解DPI感知的基础知识,了解VS可以运行的各种模式,并且被告知WPF处理DPI的能力远远优于WinForms。


    我最关心的问题是:有没有一种方法可以从machine1设计表单,使它们在高DPI环境下正确显示?还是在机器2上重新设计表单更好?

    1. 一旦我将从一个高DPI的环境中重新设计表单,我应该期望遇到相反的问题吗?(即,从高DPI到低DPI的转换是不可靠的?)
    2. A CustomTaskPane 只接受WinForm 物体。创造一个空白会有什么好处吗 用户控件 在里面我会嵌入一个 WPF ?
    3. 我的目标是.Net Framework 4.0。我会获得任何东西(DPI兼容性方面)在针对一个更高的版本?

    0 回复  |  直到 6 年前